Android Kitkat 上的 Camera Intent 空指针异常
Nullpointer Exception with Camera Intent on Android Kitkat
我正在使用此代码处理 Android Kitkat 或专业的 Camera Intent。每次我拍照,拍完之后,我得到一个
空指针异常:
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.net.Uri.getScheme()' on a null object reference
onActivityResult 中的代码:
Uri selectedImage = data.getData();
final String location = data.getDataString();
Bitmap bitmap = null;
try {
bitmap = BitmapFactory.decodeStream(getActivity().getContentResolver().openInputStream(selectedImage));
} catch (FileNotFoundException s) {
e.printStackTrace();
}
mPhotoview.setImageBitmap(bitmap);
编辑,我在这一行收到错误:
bitmap = BitmapFactory.decodeStream(getActivity().getContentResolver().openInputStream(selectedImageUri));
此错误后,应用程序崩溃。
我认为它无法获取 Uri,我该如何解决?提前致谢。
通过用 try / catch 块围绕所有内容解决:
catch (NullPointerException e) {
e.printStackTrace();
Log.d("error", "error");
mPhotoview.setImageBitmap((Bitmap) data.getParcelableExtra("data"));
}
相机应用程序不必 return 将图像存储在 Intent
的 Uri
交给 onActivityResult()
。如果您通过 EXTRA_OUTPUT
提供了 Uri
,请使用它。如果您没有使用 EXTRA_OUTPUT
,您将在 Intent
的 data
额外内容中有一个缩略图 Bitmap
。
我正在使用此代码处理 Android Kitkat 或专业的 Camera Intent。每次我拍照,拍完之后,我得到一个 空指针异常:
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.net.Uri.getScheme()' on a null object reference
onActivityResult 中的代码:
Uri selectedImage = data.getData();
final String location = data.getDataString();
Bitmap bitmap = null;
try {
bitmap = BitmapFactory.decodeStream(getActivity().getContentResolver().openInputStream(selectedImage));
} catch (FileNotFoundException s) {
e.printStackTrace();
}
mPhotoview.setImageBitmap(bitmap);
编辑,我在这一行收到错误:
bitmap = BitmapFactory.decodeStream(getActivity().getContentResolver().openInputStream(selectedImageUri));
此错误后,应用程序崩溃。 我认为它无法获取 Uri,我该如何解决?提前致谢。
通过用 try / catch 块围绕所有内容解决:
catch (NullPointerException e) {
e.printStackTrace();
Log.d("error", "error");
mPhotoview.setImageBitmap((Bitmap) data.getParcelableExtra("data"));
}
相机应用程序不必 return 将图像存储在 Intent
的 Uri
交给 onActivityResult()
。如果您通过 EXTRA_OUTPUT
提供了 Uri
,请使用它。如果您没有使用 EXTRA_OUTPUT
,您将在 Intent
的 data
额外内容中有一个缩略图 Bitmap
。