Sor*_*scu 6 android android-permissions flutter
我的 Flutter 应用程序需要读取和写入下载文件夹(/storage/emulated/0/Download更准确地说)。
在针对 SDK 版本 29(targetSdkVersion 29在 build.gradle 中)之前,这一切进展顺利,只需请求
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" tools:remove="android:maxSdkVersion" />
Run Code Online (Sandbox Code Playgroud)
在AndroidManifest.xml。
令我惊讶的是,在我的手机上部署新版本后,该应用程序在尝试访问该文件夹时开始出现访问被拒绝的错误,尽管已授予上述两个权限的访问权限。我想这是因为我将 targetSDKVersion 更改为 29。
解决方案是添加到 中的android:requestLegacyExternalStorage="true"节点。<app>AndroidManifest.xml
不过,Android 11 似乎会忽略这个标志,所以这只是一个临时修复。
所以,我的问题是:在即将推出的 Android 版本中,确保访问 Flutter 应用程序的下载文件夹的正确、官方、可靠的方法是什么?
下载文件夹的使用有严格要求。
谢谢你!
不过,Android 11似乎会忽略这个标志,
的确。它在 Android 11 设备上没有用。它仅适用于 Android 10 设备。
所以这只是一个临时修复。
否,因为对于 Android 10 设备,它将继续工作。
对于 Android 11 设备,您不需要它,因为您只需像 10 之前一样读取公共文件夹,例如再次下载。
| 归档时间: |
|
| 查看次数: |
1424 次 |
| 最近记录: |