首页 > 解决方案 > 在 android 11 上将文件保存在 sd 卡上

问题描述

我想将照片保存在 Android 11 上 sd 卡上的外部应用程序目录中。这样做的正确方法是什么?我是否必须将 SAF API 与由操作 ACTION_OPEN_DOCUMENT_TREE 触发的系统选择器一起使用,其中用户必须选择 sd 卡上的文件夹?

或者也许我可以使用这种方法:

File[] externalStorageVolumes =ContextCompat.getExternalFilesDirs(mContext, null);

并假设如果 sd 卡可用,它将打开externalStorageVolumes[1]?这适用于我的 2 台设备(带有 android 5 的三星 j1 和带有 Android 10 的三星 s10),但我没有机会访问更多设备来测试它。

标签: javaandroidandroid-external-storagescoped-storage

解决方案


在 Android 11(API 级别 30)及更高版本上,应用无法在外部存储上创建自己的应用特定目录。

尝试媒体存储api

或针对旧的 android 10 并在清单中设置 requestLegacyExternalStorage=true


推荐阅读