0

当我试图通过单击按钮从我的 Android 应用程序打开图库时。它正在引发"Unable to marshal value"异常。下面是给我错误的代码。

第一次尝试打开画廊时没有错误。如果我转到该特定片段并单击“选择图像”图标,则单击几下后,它会引发错误。

    if (requestCode == REQUEST_CODE_GALLERY){
        if(grantResults.length>0 && grantResults[0] == PackageManager.PERMISSION_GRANTED){
            Intent intent = new Intent(Intent.ACTION_PICK);
            intent.setType("image/*");
            startActivityForResult(intent, REQUEST_CODE_GALLERY);

        }
        else {
            Toast.makeText(getContext(),"Permission not Enabled", Toast.LENGTH_SHORT).show();
        }
        return;
    }
    super.onRequestPermissionsResult(requestCode, permissions, grantResults);
}

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {

    if(requestCode == REQUEST_CODE_GALLERY && resultCode == RESULT_OK  && data != null){
        Uri uri = data.getData();

        try {
            InputStream inputStream = getActivity().getApplicationContext().getContentResolver().openInputStream(uri);

            bitmap = BitmapFactory.decodeStream(inputStream);
            productImage.setImageBitmap(bitmap);

        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
    }

    super.onActivityResult(requestCode, resultCode, data);
}

我得到的错误:

6375) 在 java.lang.reflect.Method.invoke(Native Method) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:912) 在 com.android.internal.os.ZygoteInit.main( ZygoteInit.java:802) I/Process:发送信号。PID:24822 SIG:9 应用程序终止。

我错过了什么?

4

0 回答 0