我正在尝试使用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,则会得到结果,但这是完全错误的,并且与预期结果不匹配。

任何帮助将非常感激。

编辑:我正在棒棒糖中尝试此代码

最佳答案

出于某种原因,Google的recommended方法无法按预期运行,并且始终返回空游标(可能是我使用的错误)。

感谢pskink,我通过使用ContactsContract.CommonDataKinds.Phone.CONTENT_FILTER_URI而不是PhoneLookup.CONTENT_FILTER_URI使它正常工作。

10-05 22:01