Cursor dataCursor = getContentResolver().query(
ContactsContract.Data.CONTENT_URI,
new String[]{
ContactsContract.Data.CONTACT_ID,
ContactsContract.Data.DATA1
},
ContactsContract.Data.MIMETYPE + "=?",
new String[]{ContactsContract.CommonDataKinds.GroupMembership.CONTENT_ITEM_TYPE}, null
);
通过使用此dataCursor,您将获得联系人数据库中所有联系人的contact_id和group_id.
Cursor groupCursor = getContentResolver().query(
ContactsContract.Groups.CONTENT_URI,
new String[]{
ContactsContract.Groups._ID,
ContactsContract.Groups.TITLE
}, null, null, null
);
通过使用此groupCursor,您将获得联系人数据库中所有组的group_id和group_title.
因此,如果您希望获得与contact_id相关联的所有组,则首先使用合适的select语句获取dataCursor.使用dataCursor,您可以获得与该contact_id相关联的所有group_id.现在使用groupCursor,您可以获得有关与该特定联系人关联的所有组的信息.
这篇博客介绍了如何通过Android的ContactsContract API获取联系人数据库中的contact_id和group_id,以及如何进一步获取联系人所属的所有组信息。首先,使用特定的查询获取dataCursor,从中得到联系人与组的关联id,然后利用groupCursor获取每个组的详细信息,从而实现联系人与组的关联查询。
1063

被折叠的 条评论
为什么被折叠?



