【发布时间】:2012-01-28 08:25:33
【问题描述】:
我正在处理 Android 联系人。我想从特定组名中查询电话号码(不是联系人姓名)。为了做到这一点,我应该执行什么查询?
【问题讨论】:
标签: android contactscontract phone-number
我正在处理 Android 联系人。我想从特定组名中查询电话号码(不是联系人姓名)。为了做到这一点,我应该执行什么查询?
【问题讨论】:
标签: android contactscontract phone-number
Cursor c = context.getContentResolver().query(ContactsContract.Data.CONTENT_URI
, null, ContactsContract.Data.MIMETYPE+"=?"
, new String[]{ContactsContract.CommonDataKinds.GroupMembership.CONTENT_ITEM_TYPE}
, null);
然后遍历游标并获取您想要的数据。这将返回显示联系人 ID 和组 ID 和其他信息的数据块。然后查询 ContactsContract.Groups 并获取有关要比较的组的数据。
如果您正在查找有关组行 ID 的组第一次查询的特定数据,则可以将其添加到以下游标中,如下所示...
Cursor c = context.getContentResolver().query(ContactsContract.Data.CONTENT_URI
, null, ContactsContract.Data.MIMETYPE+"=? AND "+ ContactsContract.CommonDataKinds.GroupMembership.GROUP_ROW_ID+"=?"
, new String[]{ContactsContract.CommonDataKinds.GroupMembership.CONTENT_ITEM_TYPE, rowID }
, null);
在这里写代码,很抱歉犯了愚蠢的错误
你可以像这样找到组 id...
Cursor c = context.getContentResolver().query(ContactsContract.Groups.CONTENT_URI, new String[]{ContactsContract.Groups._ID}, ContactsContract.Groups.TITLE+"=?","myGroup", null);
【讨论】: