【问题标题】:How to search contacts by name and phone number?如何按姓名和电话号码搜索联系人?
【发布时间】:2021-05-14 13:11:15
【问题描述】:

我正在使用 Contacts.CONTENT_FILTER_URI 来搜索联系人。

Uri contentUri = Uri.withAppendedPath(
                ContactsContract.Contacts.CONTENT_FILTER_URI,
                Uri.encode(searchString));

searchstring 可以是数字或名称。效果很好。
我唯一的问题是结果不包含联系电话号码。

我知道我可以通过查询ContactsContract.Data.CONTENT_URI 得到它。不过,我想找到一个解决方案,只需一次查询即可为我提供联系人姓名和电话号码。

【问题讨论】:

    标签: android contacts android-contacts


    【解决方案1】:

    您应该使用Phone.CONTENT_FILTER_URI 而不是Contacts.CONTENT_FILTER_URI

    文档说:

    过滤器适用于显示姓名和电话号码。

    试试这个:

    Uri filterUri = Uri.withAppendedPath(Phone.CONTENT_FILTER_URI, Uri.encode(searchString));
    String[] projection = new String[]{ Phone.CONTACT_ID, Phone.DISPLAY_NAME, Phone.NUMBER };
    Cursor cur = getContentResolver().query(filterUri, projection, null, null, null);
    

    【讨论】:

      猜你喜欢
      • 2011-04-12
      • 1970-01-01
      • 1970-01-01
      • 2011-03-05
      • 1970-01-01
      • 2013-09-07
      • 1970-01-01
      • 1970-01-01
      • 2015-06-01
      相关资源
      最近更新 更多