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 将图像存储在 IntentUri 交给 onActivityResult()。如果您通过 EXTRA_OUTPUT 提供了 Uri,请使用它。如果您没有使用 EXTRA_OUTPUT,您将在 Intentdata 额外内容中有一个缩略图 Bitmap