如何解决我们不能在 Android 'R' 的外部存储中以编程方式创建文件夹,即使用 flutter 的 android 11操作系统错误:不允许操作,errno = 1
我正在从 URL 下载 1 张图片
await dio.download(url,saveFile.path,onReceiveProgress: (value1,value2) {
setState(() {
progress = value1 / value2;
print(progress);
});
});
这在 Android 10 中运行良好,但在 Android 11 中不起作用为什么?
这是我的例外:- filesystemexception:创建失败,路径 = '/storage/emulated/0/4k unique walls'(操作系统错误:不允许操作,errno = 1)
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"/>
<application
android:preserveLegacyExternalStorage="true"
android:requestLegacyExternalStorage="true"
</application>
解决方法
我是通过 Permission Handler 插件上的 GitHub Issue 来到这里的。它适用于 Android 10,但不适用于您所说的 Android 11。您是否尝试过使用您正在使用的插件的 manageExternalStorage
权限?在清单中,您应该添加以下内容:
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />
当然你需要request()
权限。
请阅读管理外部存储的文档,因为管理外部存储的使用需要谷歌批准。如果这解决了您的问题,请告诉我!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。