我们不能以编程方式在 Android 'R' 的外部存储中创建文件夹,即使用颤振的 android 11(操作系统错误:不允许操作,errno = 1)
Posted
技术标签:
【中文标题】我们不能以编程方式在 Android \'R\' 的外部存储中创建文件夹,即使用颤振的 android 11(操作系统错误:不允许操作,errno = 1)【英文标题】:Can't we make folder programatically in external storage of Android 'R' i.e. android 11 using flutter (OS Error: Operation not permitted, errno = 1)我们不能以编程方式在 Android 'R' 的外部存储中创建文件夹,即使用颤振的 android 11(操作系统错误:不允许操作,errno = 1) 【发布时间】:2021-09-09 10:33:35 【问题描述】:我正在从 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 唯一壁纸'(操作系统错误:不允许操作,errno = 1)
虽然我在 Manifest 中调用了这段代码...
<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>
【问题讨论】:
你没有告诉你想要做什么,也没有代码可以做任何事情。请写一个正常的帖子。 您的代码未显示它尝试创建的文件夹。或者在哪里。请写一个正常的帖子。 您找到解决方案了吗? 【参考方案1】:我是通过 Permission Handler 插件上的 GitHub Issue 来到这里的。它适用于 Android 10,但不适用于您所说的 Android 11。您是否尝试过使用您正在使用的插件的manageExternalStorage
权限?在清单中,您应该添加以下内容:
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />
当然你需要request()
的权限。
请阅读管理外部存储的文档,因为使用管理外部存储需要 Google 批准。让我知道这是否解决了您的问题!
【讨论】:
这个问题是我提出来的。我已经添加了所有权限。以上是关于我们不能以编程方式在 Android 'R' 的外部存储中创建文件夹,即使用颤振的 android 11(操作系统错误:不允许操作,errno = 1)的主要内容,如果未能解决你的问题,请参考以下文章