0

我正在尝试切换到 DocumentFile API,因为 Android 不再允许使用 File API ...

当我选择一个文件夹时,它返回的 URI 是

content://com.android.externalstorage.documents/tree/primary%3AMedia%2FCamera%2FFreeTime

现在我打电话

 DocumentFile.fromTreeUri(this, uri)

获取文件夹的内容。我想保留所有子文件夹的列表

我找到的第一个子文件夹具有以下 URI

content://com.android.externalstorage.documents/tree/primary%3AMedia%2FCamera%2FFreeTime/document/primary%3AMedia%2FCamera%2FFreeTime%2F11

我需要保存它,以便稍后我可以检查该文件夹中的文件

问题是当我尝试打电话时

 DocumentFile.fromTreeUri(this, uri)

在此子文件夹 uri 上,它返回与此子文件夹的父文件夹匹配的 DocumentFile

content://com.android.externalstorage.documents/tree/primary%3AMedia%2FCamera%2FFreeTime

如何在此处保存子文件夹 uri,以便稍后列出此子文件夹文件?

4

1 回答 1

0

如何在此处保存子文件夹 uri,以便稍后列出此子文件夹文件?

两件事情。

第一:对用户选择的文件夹获取持久化 uri 权限。

第二:保存时的子文件夹 uri 不是树 uri,因此您不能使用 .fromTreeUri() 创建 DocumentFile。

而是使用:

 .fromSingleUri().
于 2021-11-02T18:39:41.617 回答