可能重複:
I'm getting a NullPointerException when I use ACTION_IMAGE_CAPTURE to take a picture未能提供結果ResultInfo {誰= NULL,要求= 0,結果= -1,數據= NULL},以活動
我有一些代碼。
Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");
File photo = new File(CamDir, filename);
imageUri = Uri.fromFile(photo);
intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(photo));
startActivityForResult(intent, 0);
public void onActivityResult(int requestCode, int resultCode, Intent data) {
Bitmap bitmap = null;
if (resultCode == Activity.RESULT_OK && requestCode == 0) {
Uri selectedImage = imageUri;
ContentResolver cr = getContentResolver();
bitmap = android.provider.MediaStore.Images.Media.getBitmap(cr, selectedImage);
}
1.手機處於垂直位置。
2.啓動應用程序。
3.按下按鈕拍照。
4.press好的。 (保存照片)
一切都很好。
1.手機處於垂直位置。
2.啓動應用程序。
3.按下按鈕拍照。
4.將手機旋轉到水平位置。
5.press好的。 (保存照片)
有錯誤
E/AndroidRuntime(22779): java.lang.RuntimeException: Failure delivering result
ResultInfo{who=null, request=0, result=-1, data=null} to activity
com.photo/com.photo.PhotoActivity}:
java.lang.NullPointerException
我認爲,當我在旋轉手機的水平位置的意圖被重新加載,並且相機不能
知道從哪裏發出的結果。
如何解決這個問題。
解決方法:
onActivityResult(...){
...
reload()
}
public void reload()
{ Intent intent = getIntent(); overridePendingTransition(0, 0);
intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
finish();
overridePendingTransition(0, 0);
startActivity(intent);
}
你是怎麼解決你的問題,現在我面臨同樣的問題。 –
試試這個:http://stackoverflow.com/questions/8248327/my-android-camera-uri-is-returning-a-null-value-but-the-samsung-fix-is-in-place – Bush
我有希望重新加載的東西能爲我工作,但它似乎重新加載活動,而不是做一些實際有用的事情。它也拋棄了拍攝照片的結果,包括我沒有明確堅持和重新加載的任何數據,而且它仍然崩潰了大約一半的時間。 –