我正在尝试使用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
使它正常工作。