如何在 Android 中获取联系人的 groupId / GroupName?
我有 Android 设备中的联系人列表。我想获取所有联系人的关联 groupId 和 GroupName。我一直在尝试使用 ContactsContract.Groups._ID 来获取 ID,但无法获取它。有人可以提供其他方式来获取联系人的 groupID 吗?
I am having list of contacts present in an Android device. I want to fetch the associated groupIds and GroupName of all the contacts. I have been trying to use ContactsContract.Groups._ID to get the ID, but I am not able to get it. Can someone provide me other way to get the groupID of contact?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我就是这样做的。您可能可以通过不执行两个查询来解决问题并找到更快的解决方案。
这个想法是使用
GroupMembership.GROUP_ROW_ID
从数据表中获取组的行ID。当您拥有行 ID 时,您可以使用它来查询组表以获取组的名称(标题)。通常,
Groups.TITLE
并不是一个好名字,您可能必须对其进行格式化或四处搜索以找到更好的名称。这是获取联系人 ID 的代码:
这是获取群组标题的代码:
This is how I do it. You can probably mess around and find a faster solution by not doing two queries.
The idea is to get the row id of the group from the Data table using
GroupMembership.GROUP_ROW_ID
. When you have the row id you use that to query the Groups table to get the name (Title) of the group.Often the
Groups.TITLE
isn't that good a name and you probably will have to format it or search around to find anything better.Here is the code to get contact id:
And here is the code to get the Title of the group: