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

时间:2021-05-25 23:16:01

标签: android android-11

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

的文件

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)

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

谢谢!

0 个答案:

没有答案