【问题标题】:PhoneLookup.CONTENT_FILTER_URI, always returns empty resultsPhoneLookup.CONTENT_FILTER_URI,总是返回空结果
【发布时间】:2015-04-07 13:15:21
【问题描述】:

我正在尝试使用 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 中尝试此代码

【问题讨论】:

  • 先用你的 uri 试试 ContentResolver.query 看看它返回了什么,确保你的 uri 是正确的
  • 不幸尝试了 Uri uri = Uri.withAppendedPath(ContactsContract.PhoneLookup.CONTENT_FILTER_URI, Uri.encode("0"));然后 getContentResolver().query(uri, null, null, null, null) 它没有工作,仍然返回一个空游标。
  • 试过这个URI content://com.android.contacts/phone_lookup/0114,还是没有结果。
  • 我回家后一小时内会给你正确的 uri
  • 好的,非常感谢您的帮助。

标签: android android-contentprovider contacts


【解决方案1】:

由于某种原因,Google 的 recommended 方法无法按预期工作,并且总是返回一个空光标(也许我用错了)。

感谢 pskink,我使用 ContactsContract.CommonDataKinds.Phone.CONTENT_FILTER_URI 而不是 PhoneLookup.CONTENT_FILTER_URI 让它工作了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-14
    • 1970-01-01
    • 2021-08-16
    • 2020-03-12
    • 2015-09-18
    相关资源
    最近更新 更多