我试图读取我推送到外部应用程序私有文件夹
的文件在我的清单中,我还声明了所有 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"/>
而且我已经在应用设置页面中授予了所有文件访问权限:
但是,当我尝试通过 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)
我的理解是,由于它是一个应用程序私有文件夹,因此在授予权限后,应用程序应该始终可以访问它。但是,它不起作用。而且我不认为这是范围存储问题,因为我已经授予了对所有文件的访问权限,而不仅仅是媒体。
谢谢!