【发布时间】:2022-06-11 00:36:41
【问题描述】:
我在我的应用中使用 ACTION_IMAGE_CAPTURE 打开相机。一些设备崩溃。它甚至没有进入 onActivityResult() 方法。在 onCreate() 上不断崩溃。正如我所提到的,它发生在某些设备上。 Redmi Note 10 和三星 Galaxy Tab A 是我收到错误的设备。我在其他 Android 11 设备上没有遇到任何错误。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getImage();
}
private void getImage(){
Intent i = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
File dir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM);
File output = new File(dir, "photo.jpg");
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
i.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
Uri contentUri = FileProvider.getUriForFile(getContext(), ActivityManager.GetInstance().getCurrentActivity().getApplication().getPackageName()+".provider", output);
i.putExtra(MediaStore.EXTRA_OUTPUT, contentUri);
} else {
i.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(output));
}
if(i.resolveActivity(getPackageManager()) != null && contentUri != null)
startActivityForResult(i, RESULT_LOAD_IMG);
}
}
【问题讨论】:
-
你打电话给
setContentView了吗? -
我宁愿不使用
startActivityForResult。它已被弃用。请改用activityResultLauncher -
@SambhavKhandelwal 是的
-
可以分享异常代码吗?
-
@SambhavKhandelwal Logcat 错误不落,这其实是逼我的情况
标签: java android camera onactivityresult