我已经通过DocumentsContract.BuildDocumentUriUsingTree检索到sdcard的uri,现在我试图在包含许多文件的目录中查找文件。我已经尝试了以下代码片段:
selection = "_display_name='111'"; //I haven't use selectionArgs here for simplicity
context.contentResolver.query(childrenUri, projection, selection, null, null)
我也尝试过“ _display_name =?”并使用selectionArgs,但看起来提供程序完全忽略了我的选择,并始终返回目录中的所有文件。
我已经用Samsung S7-Android 8进行了测试。 如何告诉查询仅查找特定的文件名?
答案 0 :(得分:0)
假设您使用的提供者为androidx.core.content.FileProvider
(根据您在清单中声明的内容),{的selection
,selectionArgs
和sortOrder
参数{1}} ...在AndroidX的实现中根本没有使用!
请参见v1.2.0源here(第409行)
我发现的唯一解决方案是使用您自己的代码对查询后的结果进行过滤和排序。 是的,这有点可悲...