Java 在android中保存图像时权限被拒绝
我无法保存图像文件,即使在我请求权限之后。 我将权限添加到清单文件,如下所示:Java 在android中保存图像时权限被拒绝,java,android,permissions,android-permissions,Java,Android,Permissions,Android Permissions,我无法保存图像文件,即使在我请求权限之后。 我将权限添加到清单文件,如下所示: permission.WRITE_EXTERNAL_STORAGE 但我一直看到这个错误: 拒绝许可 以下是相关代码: @SuppressLint("MissingPermission") private void saveImage() { if (requestPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE)) { showLo
permission.WRITE_EXTERNAL_STORAGE
但我一直看到这个错误:
拒绝许可
以下是相关代码:
@SuppressLint("MissingPermission")
private void saveImage() {
if (requestPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE)) {
showLoading("Saving...");
File file = new File(Environment.getExternalStorageDirectory()
+ File.separator + ""
+ System.currentTimeMillis() + ".png");
try {
file.createNewFile();
SaveSettings saveSettings = new SaveSettings.Builder()
.setClearViewsEnabled(true)
.setTransparencyEnabled(true)
.build();
mPhotoEditor.saveAsFile(file.getAbsolutePath(), saveSettings, new PhotoEditor.OnSaveListener() {
@Override
public void onSuccess(@NonNull String imagePath) {
hideLoading();
showSnackbar("Image Saved Successfully");
mSaveImageUri = Uri.fromFile(new File(imagePath));
mPhotoEditorView.getSource().setImageURI(mSaveImageUri);
}
@Override
public void onFailure(@NonNull Exception exception) {
hideLoading();
showSnackbar("Failed to save Image");
}
});
} catch (IOException e) {
e.printStackTrace();
hideLoading();
showSnackbar(e.getMessage());
}
}
}
下面是错误日志:
D/ViewRootImpl@faa5b66[EditImageActivity]: setView = com.android.internal.policy.DecorView@63d69b7 TM=true MM=false
W/System.err: java.io.IOException: Permission denied
W/System.err: at java.io.UnixFileSystem.createFileExclusively0(Native Method)
at java.io.UnixFileSystem.createFileExclusively(UnixFileSystem.java:317)
检查Android Q中的权限是否连续发生了变化:
在Android 9上,您需要请求运行时权限,我认为您的操作不正确(请参阅) 在Android上,应用程序私有目录之外的10个文件路径是毫无价值的 展望未来,最好只使用媒体存储或存储访问框架
媒体商店在您的情况下可能更好 你在运行什么Android版本?@Andrew在Android 9和10上运行