我正在尝试使用SearchView按电话号码查询联系人提供商。
我正在使用游标加载器来查询内容提供商
case CONTACT_SEARCH_DEVICE_PHONE:
String phoneNumber = args.getString(Constants.EXTRA_QUERY_PARAM);
Uri uri =
ContactsContract.PhoneLookup.CONTENT_FILTER_URI
.buildUpon().appendPath(phoneNumber).build();
return new CursorLoader(this, uri, null,
null, null, null);
我的问题是PhoneLookup总是返回空光标,虽然如果我在官方android联系人应用程序中写了相同的电话号码,我会得到预期的结果。
如果我使用ContactsContract.Contacts.CONTENT_FILTER_URI而不是PhoneLookup URI,我会得到结果但是它完全错误且与预期结果不符。
非常感谢任何帮助。
编辑:我在Lollipop中尝试此代码
答案 0 :(得分:0)
由于某种原因,Google的recommended方法无法按预期工作,并且始终返回一个空光标(也许我错误地使用它)。
感谢pskink,我使用ContactsContract.CommonDataKinds.Phone.CONTENT_FILTER_URI
代替PhoneLookup.CONTENT_FILTER_URI
让它工作。