gpt4 book ai didi

java.io.IOException 即使请求权限后权限也被拒绝

转载 作者:行者123 更新时间:2023-12-02 05:30:13 26 4
gpt4 key购买 nike

我在某些设备上遇到异常(API 23 之前和之后):

Non-fatal Exception: java.io.IOException
Permission denied

imageFile.createNewFile();

在我的 AndroidManifest.xml 中,我确实拥有权限:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

并且仅在授予 Manifest.permission.WRITE_EXTERNAL_STORAGE 权限(api 23+)后调用它

String[] perms = {Manifest.permission.WRITE_EXTERNAL_STORAGE};
if (EasyPermissions.hasPermissions(getActivity(), perms)) {
// Call it
} else {
EasyPermissions.requestPermissions(this,
getString(R.string.please_grant_permission),
RC_SAVE,
perms);
}

这是我的代码:

 File downloadsFolder = Environment.getExternalStoragePublicDirectory(
Environment.DIRECTORY_DOWNLOADS);
if (!downloadsFolder.exists()) {
downloadsFolder.mkdir();
}

File imageFile = new File(downloadsFolder, fileName);

if (!imageFile.exists()) {
try {
imageFile.createNewFile(); // Error on some devices
...

统计数据:/image/lLRT1.jpg统计:/image/ma5DT.jpg

最佳答案

如果您的目标 api 级别 >=29,那么您可能会收到以下错误 bcz of new storage updates .

API级别29的解决方案
在应用的 list 文件中将 requestLegacyExternalStorage 设置为 true

<application android:requestLegacyExternalStorage="true">

关于java.io.IOException 即使请求权限后权限也被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56206165/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com