flutter 无法写入sd卡的路径

x4shl7ld  于 2023-06-30  发布在  Flutter
关注(0)|答案(1)|浏览(177)

发生异常。PathAccessException(PathAccessException:无法打开文件,路径=“/storage/0F46-190D/screenshot.png”(操作系统错误:权限被拒绝,错误号= 13))

知道我加了

<manifest xmlns:android="http://schemas.android.com/apk/res/android">
    <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"/>
    <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"/>
    .....
</manifest>

<application
    android:requestLegacyExternalStorage="true"
    ....
</application>
kuhbmx9i

kuhbmx9i1#

与Android 10和Android 9相同的问题
我的问题是,我正在使用:

directory = Directory('/storage/emulated/0/Download');
if (!await directory.exists()) directory = await getExternalStorageDirectory();

直到几天前,这一直工作得很好,但由于某种原因,现在失败了。为了解决这个问题,我将代码改为:

directory = await getExternalStorageDirectory();
directory ??= await getApplicationDocumentsDirectory();

测试SM G390 F Android 9,SM G965 F Android 10,红米注8 Android 11,SM T505 Android 12和工作正常!
希望能帮上忙!

相关问题