如何获取具有目录 URI 的音频文件 URI?

How to get audio files URIs having directory URI?

用户选择目录,我需要获取该目录中的所有音频文件 URI。
我有这样的目录 URI:

content://com.android.providers.downloads.documents/tree/downloads

当我尝试使用 ContentResolver 方法查询时出现错误:

Failure delivering result ResultInfo{who=null, request=9999, result=-1, data=Intent { dat=content://com.android.providers.downloads.documents/tree/downloads flg=0xc3 }} to activity {com.example.directorypicker/com.example.directorypicker.MainActivity}: java.lang.UnsupportedOperationException: Unsupported Uri content://com.android.providers.downloads.documents/tree/downloads

如何使 URI 受支持?
也许您有其他选择?

把你从ACTION_OPEN_DOCUMENT_TREE得到的Uri传给DocumentFile.fromTreeUri()。这将为您提供一个 DocumentFile 对象,您可以调用 listFiles() 遍历文档树以查找您的音频内容。