如何解决捕获图像输出文件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 举报,一经查实,本站将立刻删除。