【问题标题】:MediaStore.ACTION_IMAGE_CAPTURE crash for some devices某些设备的 MediaStore.ACTION_IMAGE_CAPTURE 崩溃
【发布时间】: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


【解决方案1】:

我遇到了同样的问题:点击按钮拍照时似乎发生了崩溃。无论如何,在尝试了很多事情之后,唯一“解决”问题的是更新/重新启动设备。我不知道是否只有重新启动才能工作,或者是否需要更新,但其他一切都没有帮助我。如果有人可以纠正它,或者可能有更好的信息,请分享。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-11
    相关资源
    最近更新 更多