Android2.0 如何设置和读取联系人的分组(Group)

发布于 2022-09-30 19:58:11 字数 2149 浏览 17 评论 0

其实联系人分组实现原理是:

根据Data.MIMETYPE为GroupMembership类型,data1中的组id来进行分组。

设置ContactsContract.Data.CONTENT_URI中的ContactsContract.Data.MIMETYPE 为ContactsContract.CommonDataKinds.GroupMembership.CONTENT_ITEM_TYPE类型,data1字段为某一分组的组ID,该值可查询ContactsContract.Groups.CONTENT_URI(该表保存了各分组的组_id,组名称title等分组信息)得到。

例如查询具有某一分组的所有联系人的ContactsContract.RawContacts._ID,代码如下

  1. public static final String[] RAW_PROJECTION = new String[]{
  2.             ContactsContract.Data.RAW_CONTACT_ID,
  3. };
  4.    
  5. public static final String RAW_CONTACTS_WHERE =
  6.                 ContactsContract.CommonDataKinds.GroupMembership.GROUP_ROW_ID +"=?" +" and " +
  7.                 ContactsContract.Data.MIMETYPE+ "=" + "'" +
  8.                 ContactsContract.CommonDataKinds.GroupMembership.CONTENT_ITEM_TYPE + "'" ;

复制代码//具有同一组id的原始联系人的id

  1. Cursor mMemberRawIds =rc.query(URI, RAW_PROJECTION,
  2.                                                       RAW_CONTACTS_WHERE,
  3.                                                       new String[]{""+groupId},
  4.                                                       "data1 asc");

复制代码

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文