3

私は自分のライブ壁紙にカスタム画像の設定をしています。これにより、ユーザーは自分のSDカードから背景として使用する画像を選択できます。私はhereからコードを得て、それを変更していないので、変数名やオブジェクト名を除いてほぼ同じです。インテントがnullでない場合にアンドロイド「結果配信の失敗ResultInfo」

私は私のdevのコンソールでこれらのスタックトレースの数を取得してきた:

java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=1, result=-1, data=Intent { dat=file:///mnt/sdcard/com.idunnolol.rageface/rage_fullpanel.png }} to activity {gilleland.software.pixelrain/gilleland.software.pixelrain.PixelRainSettings}: java.lang.NullPointerException 
at android.app.ActivityThread.deliverResults(ActivityThread.java:3515) 
at android.app.ActivityThread.handleSendResult(ActivityThread.java:3557) 
at android.app.ActivityThread.access$2800(ActivityThread.java:125) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2063) 
at android.os.Handler.dispatchMessage(Handler.java:99) 
at android.os.Looper.loop(Looper.java:123) 
at android.app.ActivityThread.main(ActivityThread.java:4627) 
at java.lang.reflect.Method.invokeNative(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:521) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 
at dalvik.system.NativeStart.main(Native Method) 
Caused by: java.lang.NullPointerException 
at gilleland.software.pixelrain.PixelRainSettings.getRealPathFromURI(PixelRainSettings.java:107) 
at gilleland.software.pixelrain.PixelRainSettings.onActivityResult(PixelRainSettings.java:90) 
at android.app.Activity.dispatchActivityResult(Activity.java:3890) 
at android.app.ActivityThread.deliverResults(ActivityThread.java:3511) 
... 11 more 

私は自分の携帯電話にこの例外を得ることはありません。

私はNullPointerExceptionの原因を突き止めるためにしばらく探していましたが、私が見つけた解決策のほとんどは「ResultInfo {who = null、request = 1、result = -1、data = null}」です。私が実際に得ているスタックトレースにはIntents with data ...があるので、NullPointerExceptionの原因を特定できません。

何かすべての助けがありがとうございます。私はこれを解決するのに必要なコードを提供することができます。 ありがとう!

答えて

1

requestCodeとのresultCodeが正しいので、私は問題が原因変数のポインタのいずれかにあると思いますが、適切にコードのセクションを以下に初期化されていません。

Uri selectedImage = data.getData(); 
String RealPath; 
SharedPreferences customSharedPreference =   
getSharedPreferences(fingerflashpro.SHARED_PREFS_NAME, Context.MODE_PRIVATE); 
SharedPreferences.Editor editor = customSharedPreference.edit(); 
RealPath = getRealPathFromURI (selectedImage); 
editor.putString("image_custom", RealPath); 
editor.commit(); 

それはおそらくselectedImageかのrealpathに関連する何か。ほとんどのコードをコメントアウトし、行ごとにデバッグします。

+0

この例外の原因を見つけようとする際の唯一の問題は、自分の電話機または自分の所有するデバイスでこのエラーが発生しないことです。 – Gilleland

+0

私は問題がgetRealPathFromURIに起因すると思います。異なるデバイス間で動作が一致しているわけではありません。たとえば、カメラから撮影された写真の中には、毎回URIを返す必要はありません – cnbuff410

+0

例外が発生している場所は間違いなく、特定の電話機のみですが、データが返ってきたときに例外をスローするのはなぜですか? – Gilleland

関連する問題