如果我在主目录上调用DocumentFile.fromTreeUri()并列出其内容,它会按预期返回与目录中包含的文件夹和文件相关的所有DocumentFile对象,但是当我尝试在其中一个DocumentFile文件夹的Uri上调用DocumentFile.fromTreeUri()时,它并没有像预期那样返回子目录中包含的所有与文件夹和文件相关的DocumentFile对象,而是实际上在其根Uri上返回了完全相同的调用内容
例如,我有一个包含3个文件的下载文件夹和一个包含2个文件的子文件夹,其结构如下
Download
-->file1
-->file2
-->file3
-->Subfolder
----->subfile1
----->subfile2如果我在通过意图回调content://com.android.externalstorage.documents/tree/primary%3ADownload挑选的下载文件夹Uri上调用DocumentFile.fromTreeUri().listFiles(),它将返回我
-->file1
-->file2
-->file3
-->Subfolder到现在为止一切都还好,现在如果我尝试获取与调用mysub.getUri()的Subfolder相关的DocumentFile对象的Uri,我得到的content://com.android.externalstorage.documents/tree/primary%3ADownload/document/primary%3ADownload%2FSubfolder看起来似乎是正确的,但是如果我在它上面调用DocumentFile.fromTreeUri().listFiles(),当我列出它的内容时,我又得到了
-->file1
-->file2
-->file3
-->Subfolder与对主下载文件夹Uri的调用完全相同。如果我直接调用mysub.listFiles(),也会发生同样的情况。这似乎是一个完全不合逻辑的设计。
我如何才能正确地从DocumentFile中获得与其父文件夹相关的DocumentFile对象,以致子文件夹DocumentFile可以列出其内容而不是其父文件夹的内容?
发布于 2021-05-21 10:34:39
我也有同样的问题。我在升级了文档文件版本后解决了这个问题。
implementation 'androidx.documentfile:documentfile:1.0.1'
https://stackoverflow.com/questions/62375696
复制相似问题