【发布时间】:2025-12-06 02:55:01
【问题描述】:
我正在使用Google Sample 中描述的目录选择。它确实提供了所选目录的子目录的文件名和 mime 类型。如果我在光标查询上使用COLUMN_DOCUMENT_ID,我也可以获得文件的文档 ID。
我对孩子的文件 URI 感兴趣。当我使用ACTION_OPEN_DOCUMENT 而不是ACTION_OPEN_DOCUMENT_TREE 时,我很容易得到子uri,它是通过添加%2Fchildfile.extention 获得的(%2F 只是一个正斜杠)。所以我尝试使用以下代码获取子文件 uri -
uri = Uri.parse(docUri.toString()+"%2F"+fileName);
我得到了文件名,但是当我对其运行 exists() 方法时(通过将其转换为 DocumentFile),它返回 false。这意味着,要么我没有文件的权限,要么这不是获取孩子 uri 的正确方法。
我在这里遗漏了什么,还是有任何其他方法可以选择一个文件夹并轻松获取所有子文件夹的文件 uri。
PS:我目前正在Marshamallow中检查它。
【问题讨论】:
标签: android android-5.0-lollipop android-6.0-marshmallow android-file storage-access-framework