Android Kotlin 访问下载目录中的文件 API > 29
Android Kotlin Access to Files in Download Directory API > 29
我正在尝试访问设备下载/目录中的文件。
由于 ACTION_OPEN_DOCUMENT_TREE Intent 的范围存储更新和限制,我无法找到任何方法来获取 URI 或 smth 来使用。
我想阅读下载目录中的所有文件,看看它们是否适合我搜索的 MIME 类型。
我试过了:
Environment.getExternalStoragePublicDirectory(DIRECTORY_DOWNLOADS)
-> 已废弃
context.contentResolver.query(MediaStore.Downloads.getContentUri(MediaStore.VOLUME_INTERNAL),projection,null,null,null)
-> 你无法访问不是由你的应用程序在下载目录中创建的文件 (https://developer.android.com/training/data-storage/shared/media)
- 使用 ACTION_OPEN_DOCUMENT_TREE Intent 获取访问权限 -> 因为 API 30 dosnt 显示下载目录 (https://developer.android.com/training/data-storage/shared/documents-files#grant-access-directory)
如果您需要更多信息,请告诉我。
我希望有人有想法:)
感谢您的帮助!
解决方案是使用 MANAGE_EXTERNAL_STORAGE 权限。
现在我可以访问所有文件以扫描所需的文件类型。
我正在尝试访问设备下载/目录中的文件。 由于 ACTION_OPEN_DOCUMENT_TREE Intent 的范围存储更新和限制,我无法找到任何方法来获取 URI 或 smth 来使用。 我想阅读下载目录中的所有文件,看看它们是否适合我搜索的 MIME 类型。
我试过了:
Environment.getExternalStoragePublicDirectory(DIRECTORY_DOWNLOADS)
-> 已废弃context.contentResolver.query(MediaStore.Downloads.getContentUri(MediaStore.VOLUME_INTERNAL),projection,null,null,null)
-> 你无法访问不是由你的应用程序在下载目录中创建的文件 (https://developer.android.com/training/data-storage/shared/media)- 使用 ACTION_OPEN_DOCUMENT_TREE Intent 获取访问权限 -> 因为 API 30 dosnt 显示下载目录 (https://developer.android.com/training/data-storage/shared/documents-files#grant-access-directory)
如果您需要更多信息,请告诉我。 我希望有人有想法:)
感谢您的帮助! 解决方案是使用 MANAGE_EXTERNAL_STORAGE 权限。 现在我可以访问所有文件以扫描所需的文件类型。