处理contentResolver字符串匹配中的空格

时间:2013-12-29 21:04:07

标签: android-contentresolver

我正在尝试通过电话号码检索短信,但我没有得到任何结果。 (如果我将wherewhere_args替换为null,我会得到结果

String where = "address=?";
String[] where_args = new String[]{"+33 1 23 45 67 89"};
contentResolver.query(uri, new String[]{"*"}, where, where_args, null);

我怀疑由于空格而导致?出现问题,所以我尝试where = "address='?'"; and其中=“address = \”?\“”;``但没有工作

有什么想法吗?谢谢!

1 个答案:

答案 0 :(得分:1)

您是否尝试过以下操作以确保部分工作正常?

String where = "address = '+33 1 23 45 67 89'";
contentResolver.query(uri, 
                      new String[]{"*"}, 
                      where, null, null);

尝试在查询调用中创建数组。

String where = "address = ?";
String where_args = "+33 1 23 45 67 89";
contentResolver.query(uri, 
                      new String[]{"*"}, 
                      where, 
                      new String[]{where_args}, 
                      null);

另外,检查您的投影参数是否导致问题。将该参数专门设置为您要搜索的列,至少用于测试目的,以查看是否正在改变选择参数。

以下更多示例: