2011-06-29 17 views
1

私はインテントを使用しています。なぜ私のアプリケーションが戻るボタンを押したときにクラッシュするのか不思議です。私は試しました:画像を撮っているときに戻るボタンを押したときにプログラムがクラッシュする

if(data.getExtras() != null) 

しかし、それでも動作しません。これを行うより正しい方法がありますか?

ご迷惑をおかけして申し訳ございません。 D:

スタックトレース:

E/AndroidRuntime(19352): java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=1337, result=0, data=null} to activity {com.smilingdevil.Day5/com.smilingdevil.Day5.BopActivity}: java.lang.NullPointerException 
E/AndroidRuntime(19352):  at android.app.ActivityThread.deliverResults(ActivityThread.java:2883) 
E/AndroidRuntime(19352):  at android.app.ActivityThread.handleSendResult(ActivityThread.java:2925) 
E/AndroidRuntime(19352):  at android.app.ActivityThread.access$2000(ActivityThread.java:132) 
E/AndroidRuntime(19352):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1063) 
E/AndroidRuntime(19352):  at android.os.Handler.dispatchMessage(Handler.java:99) 
E/AndroidRuntime(19352):  at android.os.Looper.loop(Looper.java:143) 
E/AndroidRuntime(19352):  at android.app.ActivityThread.main(ActivityThread.java:4196) 
E/AndroidRuntime(19352):  at java.lang.reflect.Method.invokeNative(NativeMethod) 
E/AndroidRuntime(19352):  at java.lang.reflect.Method.invoke(Method.java:507) 
E/AndroidRuntime(19352):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 
E/AndroidRuntime(19352):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 
E/AndroidRuntime(19352):  at dalvik.system.NativeStart.main(Native Method) 

E/AndroidRuntime(19352): Caused by: java.lang.NullPointerException 
E/AndroidRuntime(19352):  at com.smilingdevil.Day5.BopActivity.onActivityResult(BopActivity.java:167) 
E/AndroidRuntime(19352):  at android.app.Activity.dispatchActivityResult(Activity.java:4010) 
E/AndroidRuntime(19352):  at android.app.ActivityThread.deliverResults(ActivityThread.java:2879) 
E/AndroidRuntime(19352):  ... 11 more 
W/ActivityManager(1337): Force finishing activity com.smilingdevil.Day5/.BopActivity 
+1

どのようなエラーが表示されますか? –

+0

クラッシュのlogcatトレースを投稿してください。 – yep

+0

申し訳ありません、しばらくお待ちください。スタックトレースを追加しました。 –

答えて

1

あなたはonactivityResult(int requestCode, int resultCode, Intent data)方法でカメラの意図を呼び出した結果を処理していますか?

もしそうなら、あなたはresultCodeがをチェックしていることを確認してください - データがnullであるので、あなたがクラッシュしている

protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    // first, check that your requestCode matches the requestCode you sent to the 
    // camera intent - this should really only matter if you're making multiple 
    // requests to an intent and expecting to do different things with the returns, 
    // but you should check anyway. 
    if (requestCode == whateverCodeYouUsedInRequest) { 
     if (resultCode == RESULT_OK) { 
      // everything should be OK and you can process the expected result 

     } else if (resultCode == RESULT_CANCELED) { 
      // user explicitly canceled the called activity - you shouldn't 
      // expect to process the expected result. 
     } else { 
      // not sure what happened here - but result isn't 'RESULT_OK' so 
      // you shouldn't expect to process the expected result. 
     } 
    } 
} 
+0

ありがとうございました! :D *チェック* –

1

を。チェックする必要があります(data!= null & & data.getExtras()!= null)。結果の設定の一環として、完了したアクティビティにデータが含まれているという保証はありません。

関連する問題