微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何按姓名和电话号码搜索联系人?

如何解决如何按姓名和电话号码搜索联系人?

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

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

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

我知道我可以通过查询 ContactsContract.Data.CONTENT_URI获取它。但是,我想找到一种解决方案,可以通过单个查询为我提供联系人姓名和电话号码。

解决方法

您应该使用 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);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。