Android 安卓4.1+/ContactContract:指定contactId的查找组(从查找号码派生)
以下功能将电话号码作为输入参数(例如+436641234567或+436641234567),并在联系人数据库中执行两次查找:首先,识别属于此号码的用户(此功能已起作用),然后使用用户id获取分配给此联系人的所有组(但此功能不起作用)。Test(再次)返回正确的id,但是组为“null” 改用此Android 安卓4.1+/ContactContract:指定contactId的查找组(从查找号码派生),android,contactscontract,Android,Contactscontract,以下功能将电话号码作为输入参数(例如+436641234567或+436641234567),并在联系人数据库中执行两次查找:首先,识别属于此号码的用户(此功能已起作用),然后使用用户id获取分配给此联系人的所有组(但此功能不起作用)。Test(再次)返回正确的id,但是组为“null” 改用此groupLookup光标 Cursor groupCursor = getContentResolver().query( ContactsContract.Groups.CONTENT
groupLookup
光标
Cursor groupCursor = getContentResolver().query(
ContactsContract.Groups.CONTENT_URI,
new String[]{
ContactsContract.Groups._ID,
ContactsContract.Groups.TITLE
}, ContactsContract.Groups._ID + "=" + _id, null, null
);
groupCursor
有助于从_-id获取组标题。非常感谢……开箱即用(尽管联系人合同上有一项任务)。我有点困惑,它返回的组ID(例如,在一个示例1、2、4中)在使用以下代码查询组时没有得到(最低ID为3):最终字符串[]组\投影=新字符串[]{ContactsContract.groups.\u ID,ContactsContract.groups.TITLE};Cursor Cursor=contentResolver.query(ContactsContract.Groups.CONTENT\u URI,GROUP\u投影,ContactsContract.Groups.DELETED+“=0”,null,ContactsContract.Groups.TITLE);安卓或谷歌圈子里的明星?有什么想法吗?忘了提一下:当我查询标记为删除的组时,这些ID不会显示。我已经编辑了答案。我使用groupCursor
获取组标题。但我还没有与联系人contract.groups.DELETED+“=1”的组进行检查。它可以很好地从具有联系人contract.groups.DELETED+“=0”
的组中获取组标题。
Cursor groupLookup = getContentResolver().query(
ContactsContract.Data.CONTENT_URI,
new String[]{
ContactsContract.CommonDataKinds.GroupMembership.GROUP_ROW_ID ,
ContactsContract.CommonDataKinds.GroupMembership.CONTACT_ID
},
ContactsContract.Data.MIMETYPE + "=? AND " + ContactContract.Data.CONTACT_ID + "=?",
new String[]{
ContactsContract.CommonDataKinds.GroupMembership.CONTENT_ITEM_TYPE,
contact_id
}, null
);
Cursor groupCursor = getContentResolver().query(
ContactsContract.Groups.CONTENT_URI,
new String[]{
ContactsContract.Groups._ID,
ContactsContract.Groups.TITLE
}, ContactsContract.Groups._ID + "=" + _id, null, null
);