微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

EACCES 权限在 android 11 上被拒绝并授予 MANGED_EXTERNAL_STORAGE

如何解决EACCES 权限在 android 11 上被拒绝并授予 MANGED_EXTERNAL_STORAGE

我试图读取我推送到外部应用程序私有文件

文件

enter image description here

在我的清单中,我还声明了所有 3 个与存储相关的权限

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

而且我已经在应用设置页面中授予了所有文件访问权限:

enter image description here

但是,当我尝试通过 File api 读取文件时,它仍然失败并出现权限错误

val file = File(context.getExternalFiles(null)).absolutePath,"test.json")
val fileStream = FileInputStream(file)

java.io.FileNotFoundException:/storage/emulated/0/Android/data/com.jetbrains.handson.mpp.myapplication/files/test.json:打开失败:EACCES(权限被拒绝) 在 libcore.io.IoBridge.open(IoBridge.java:492)

我的理解是,由于它是一个应用程序私有文件夹,因此在授予权限后,应用程序应该始终可以访问它。但是,它不起作用。而且我不认为这是范围存储问题,因为我已经授予了对所有文件的访问权限,而不仅仅是媒体。

谢谢!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。