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

时间:2017-10-30 15:39:57

标签: android android-intent

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

我的问题:但 resultCode (onActivityResult())始终返回取消。

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

我的代码:

    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

1 个答案:

答案 0 :(得分:0)

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

ImagePicker插件裁剪插件...

也会出现此问题

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