gpt4 book ai didi

android - 以 Android SDK 版本 29 为目标后,读取/写入下载文件夹被拒绝

转载 作者:行者123 更新时间:2023-12-04 12:31:06 25 4
gpt4 key购买 nike

我的 Flutter 应用程序需要读取和写入 Download 文件夹(更准确地说是 /storage/emulated/0/Download)。
在针对 SDK 版本 29(build.gradle 中的 targetSdkVersion 29)之前,一切顺利,仅通过请求

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" tools:remove="android:maxSdkVersion" />
AndroidManifest.xml .
令我惊讶的是,在将新版本部署到我的手机后,该应用程序在尝试访问该文件夹时开始引发访问被拒绝错误,尽管已授予上述两个权限的访问权限。我想这是因为我将 targetSDKVersion 更改为 29。
解决方案是添加 android:requestLegacyExternalStorage="true"<app> AndroidManifest.xml 中的节点.
但是,Android 11 似乎会忽略此标志,因此它只是一个临时修复。
所以,我的问题是:在即将推出的 Android 版本中,确保访问 Flutter 应用程序的下载文件夹的正确、官方、可靠的方法是什么?
下载文件夹的使用是一项严格的要求。
谢谢!

最佳答案

However, it seems that Android 11 will ignore this flag,



的确。它在 Android 11 设备上毫无用处。它仅适用于 Android 10 设备。

so it is only a temporary fix.



不会,因为对于 Android 10 设备,它将继续工作。
对于 Android 11 设备,您不需要它,因为您可以像 10 之前一样读取公共(public)文件夹,例如再次下载。

关于android - 以 Android SDK 版本 29 为目标后,读取/写入下载文件夹被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65423283/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com