2011-06-29 77 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爲 -

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)。無法保證已完成的活動已將任何數據作爲設置結果的一部分。

相關問題