如何解决如何按姓名和电话号码搜索联系人?
我正在使用 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 举报,一经查实,本站将立刻删除。