当我试图通过单击按钮从我的 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 应用程序终止。
我错过了什么?