【发布时间】:2021-08-04 08:17:47
【问题描述】:
我目前使用Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS) 作为路径。我已请求android.permission.WRITE_EXTERNAL_STORAGE。我的目标是 SDK 30。我已经成功地在 Android 8 和 Android 11 上读取和写入文件,但不是 Android 10。将 android:ignore="ScopedStorage" 和 android:requestLegacyExternalStorage="true" 添加到我的 AndroidManifest.xml 不起作用。
阅读官方文档,非常混乱。我尝试了另一种方法,使用ACTION_OPEN_DOCUMENT_TREE 缩进,但我只能浏览下载文件夹。我无法进入 Documents 文件夹。
这里有多个类似的问题,但对我来说并没有完全触及问题的核心。任何人都可以分享一些关于如何做一些基本的事情,比如对 Documents 文件夹进行简单的文件访问吗?
【问题讨论】:
-
在清单中请求旧版外部存储应该足以在 Android 10 下以经典方式访问 Documents 文件夹。
-
当然,当 ACTION_OPEN_DOCUMENTS_TREE 的 gui 打开时,用户可以浏览整个外部存储。了解用户如何浏览。确实有些事情很棘手。默认情况下,该 gui 不显示内部/外部存储..
-
谢谢。我怀疑在面向 Android 30 时请求旧版存储可能会被忽略。
-
没有。它不适用于 Android 10 设备。
-
我觉得有点混乱。我注意到它应该是 Environment.getExternalStoragePublicDirectory 而不是 Environment.getExternalPublicStorageDirectory
标签: java android android-permissions android-10.0