在我的應用程序中,它捕獲了一些圖像,當我點擊一個按鈕。當我第一次點擊這個按鈕後,相機意圖打開之後,onActivityResult被應用程序調用,然後onResume方法被應用程序調用,每件事情都很好。但是當我第二次點擊按鈕時,應用程序會調用相機意圖,但在應用程序調用onCreate方法之後,再調用onActivityResult方法。我不知道爲什麼onCreate方法被程序調用。正因爲如此,我的程序出現了一些錯誤。Android:調用第二次onActivityResult拋出錯誤
代碼(當按鈕被點擊的調用addPhoto法):
protected void addPhoto() {
System.out.println("*** addPhoto() ***");
Intent i = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
out1 = Environment.getExternalStorageDirectory(); // out1 is initialized as File out1 = null;
photoDateString = new DateClass().getCurrentDateAndTime();//this line give current date and time as photo name
out1 = new File(out, "xxx/images/" + photoDateString + ".jpg");
i.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(out1));
startActivityForResult(i, CAMERA_REQUEST);
System.out.println("*** End of addPhoto() ***");
}
碼(onActivityResult):
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
System.out.println("*** onActivityResult() ***");
if (out1 != null && out1.exists()) {
// some code
}
//some code
System.out.println("*** End of onActivityResult() ***");
}
由於程序爲線如果onActivityResult其拋出錯誤之前調用onCreate方法(out1!= null & & out1.exists()){
我不知道我需要做什麼。
錯誤消息:
java.lang.RuntimeException: Unable to resume activity {com.pxxl.android.lxxxy/com.pxxl.android.lxxxy.FirstActivity}: java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=1888, result=-1, data=null} to activity {com.pxxl.android.lxxxy/com.pxxl.android.lxxxy.FirstActivity}: java.lang.NullPointerException
檢查if(requestCode == CAMERA_REQUEST && resultCode == RESULT_OK) – SKT