对文档的 ContentResolver 查询未通过选择进行过滤

问题描述

我正在尝试根据显示名称过滤文档。代码如下:

val files = ArrayList<String>(0)
val uri = DocumentsContract.buildChildDocumentsUriUsingTree(rootUri,DocumentsContract.getTreeDocumentId(rootUri))
val searchQuery = "${DocumentsContract.Document.COLUMN_disPLAY_NAME} LIKE ?"
val cursor = cResolver.query(uri,arrayOf(DocumentsContract.Document.COLUMN_disPLAY_NAME),searchQuery,arrayOf("'%aaa%'"),null)
while (cursor?.movetoNext() == true){
    files.add(cursor.getString(0).toString())
}

这里我得到的输出[ap.apk,mytext.txt,aaa]
而预期的输出只是 [aaa]

我已经研究了其他问题。
根据这些问题:
where clause in contentProvider's query in Android
getContentResolver().query android where clause
我也试过

val searchQuery = "${DocumentsContract.Document.COLUMN_disPLAY_NAME} like '%aaa%'"
val cursor = cResolver.query(uri,null,null)

在这里我也得到了相同的结果。如果有人能指出我犯的错误,那就太好了。
谢谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)