相机意图resultCode始终为Nougat返回取消

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了相机意图resultCode始终为Nougat返回取消相关的知识,希望对你有一定的参考价值。

当我在Nougat版本中使用相机意图时,相机意图完美地工作。

我的问题:但是resultCode(onActivityResult())总是返回取消。

注意:相同的代码在旧版本中正确返回结果。我只面对牛轧糖

我的代码:

    private void takePicture(Activity context) {
    Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    if (takePictureIntent.resolveActivity(context.getPackageManager()) != null) {
        Uri photoURI = null;
        try {
            File file = new File(Environment
                    .getExternalStorageDirectory(), "temp.jpg");

            String path = file.getAbsolutePath();
            photoURI = FileProvider.getUriForFile(context,
                    context.getPackageName() + ".provider",
                    file);
        } catch (Exception e) {
            Log.e(TAG, "takePicture: ", e);
        }
        takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, photoURI);
        takePictureIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_GRANT_WRITE_URI_PERMISSION);          
        context.startActivityForResult(takePictureIntent, CAMERA_REQUEST);
    }
}

在这个tutorial的帮助下

答案

我刚刚在androidManifest.xml中删除了android:launchMode =“singleInstance”解决了这个问题。

ImagePicker插件裁剪插件也出现此问题...

我希望这会对某人有所帮助。

以上是关于相机意图resultCode始终为Nougat返回取消的主要内容,如果未能解决你的问题,请参考以下文章

位图始终在相机意图中返回null

resultCode 始终为 0,request 始终为 -1,。活动.onActivityResult();

拍照时意图始终为空

Android 意图:总是得到 resultCode = 0

Nougat 7 不支持 Android 相机裁剪

Android:相机在接受拍摄照片后未关闭