使用选择过滤时清空光标行

Empty cursor row when filtering with selection

我对游标没有信心,在使用 WHERE 子句过滤游标时遇到了一些问题。

我在做什么:

ContentResolver contentResolver = context.getContentResolver();
    Uri uriConversation = Uri.parse("content://mms-sms/conversations/");

    String[] projection = new String[]{"*"};
    String selection = "address=" + phoneNumberForThread;

    Cursor cursor = contentResolver.query(uriConversation, projection, null, null, null);

执行此代码,光标将被填充并完美运行。 但是,如果我将空选择参数与我的选择字符串交换为

Cursor cursor = contentResolver.query(uriConversation, projection, selection, null, null);

然后我得到一个空光标。我什至检查 !phoneNumberForThread.isEmpty()

我想我做错了什么,但我还是对光标没有信心。 任何帮助将不胜感激。

如果您的输入变量存储为 string 数据类型,您应该用 ' 将其括起来:

String selection = "address='" + phoneNumberForThread + "'";