在下面的android 11中,我们可以使用File(getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS)).listFiles()获取公共目录(下载)中的所有文件,但在android 11中,当我尝试访问文件时,获取与我的应用程序相关的文件时无法获取所有文件,我们如何获取android 11中的所有文件
我使用这两个权限来读取和写入文件
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
这是获取列表的代码片段
val files: Queue<File> = LinkedList()
val ROOT_DIR = getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).absolutePath
files.addAll(File(ROOT_DIR).listFiles())
发布于 2021-11-18 17:02:33
以下是Android 11和更高版本中外部存储访问的安全更新的完整描述。
https://developer.android.com/about/versions/11/privacy/storage
发布于 2021-11-18 19:44:41
您有两个选择。
或者使用permission MANAGE_EXTERNAL_STORAGE使用'all files access‘。
或者让用户使用ACTION_、OPEN_DOCUMENT选择文件。允许多个。
https://stackoverflow.com/questions/70023820
复制相似问题