捕获图像输出文件android 10

问题描述

我正在迁移到作用域存储,并且已从清单文件删除requestlegacyexternalstorage

此后,使用相机拍摄图像时,图像未保存到提供的路径tempImageCameraPath

override fun permissionAccepted() {
                    val intent = Intent(MediaStore.ACTION_IMAGE_CAPTURE)
                    if (GuiUtils.intentCanResolve(intent)) {
                        tempImageCameraPath = String.format(FileUtils.getimageDir().toString() + "/%s" + Constants.PNG_IMAGE_FORMAT,FileUtils.getNewFileName())
                        intent.putExtra(MediaStore.EXTRA_OUTPUT,FileUtils.getUriForWrite(tempImageCameraPath,intent))
                        startActivityForResult(intent,REQUEST_IMG_FROM_CAMERA)
                    }
                }

图像目录为 Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES)

写权限FileUtils.getUriForWrite

public static Uri getUriForWrite(String filePath,Intent intent) {
        Uri uri = getUriForFile(filePath);
        App.get().grantUriPermission(CommonUtils.getPackageName(),uri,Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
        resolveUriForIntent(uri,intent,Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
        return uri;
    }

public static Uri getUriForFile(String filePath) {
        return FileProvider.getUriForFile(App.get(),CommonUtils.getPackageName() + ".fileprovider",new File(filePath));
    }

在日志中找不到任何与相机相关的错误,它只是不保存文件。 我尝试更改为内部目录,但它也不起作用。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)