【发布时间】:2022-09-27 18:13:15
【问题描述】:
我在Play商店上传了一个Android照片压缩应用程序,我检查了一切正常,但是有些用户有这个应用程序无法保存压缩照片的问题,我检查了一下,我发现了这个错误
[ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: FileSystemException: Cannot create file, path = \'/storage/emulated/0/My Folder/photo.jpg\' (OS Error: Operation not permitted, errno = 1)
这是权限AndroidManifest.xml
<uses-permission android:name=\"android.permission.WRITE_EXTERNAL_STORAGE\"/>
<uses-permission android:name=\"android.permission.READ_EXTERNAL_STORAGE\"/>
<uses-permission android:name=\"android.permission.ACCESS_MEDIA_LOCATION\"/>
<uses-permission android:name=\"android.permission.CAMERA\"/>
应用程序标签内的这一行
android:requestLegacyExternalStorage=\"true\"
我寻找了一些解决方案并建立了这个许可行
<uses-permission android:name=\"android.permission.MANAGE_EXTERNAL_STORAGE\"
tools:ignore=\"ScopedStorage\" />
但是当请求这个权限时,android向用户显示警告应用程序将访问所有文件而无需请求权限,我觉得这让用户担心,有些人可能害怕这个权限,但是我上传了应用程序但它被拒绝了,因为使用@ 987654327@ 许可。
-
你试过实现这个包吗? pub.dev/packages/permission_handler 它将处理所有事情.. 遵循文档
-
什么是 Android 版本的设备给出了这个错误?对于所有 Android 11+ 设备来说,这都是正常的。
-
在公共文档目录中创建您的文件夹,错误就会消失。
-
@Danny我正在使用permission_handler 向用户询问权限,但正如我所说的,前面的错误显示了。
-
@blackapps 据我所知,错误出现在以下系统中:Android 11 和 12
标签: android flutter file permissions storage