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 (将#修改为@)