1

我想将联系人成员添加到组:

values.put(ContactsContract.CommonDataKinds.GroupMembership.GROUP_ROW_ID, groupId);

目前我只有这个组的TITLE,我如何得到groupId这个TITLE?

4

2 回答 2

1

好的,这是如何通过标题获取组 ID 的完整版本。基本上它会迭代所有组并比较标题以找到其 ID。

private String getGroupId(String groupTitle) {
    Cursor cursor = getContentResolver().query(ContactsContract.Groups.CONTENT_URI,new String[]{ContactsContract.Groups._ID,ContactsContract.Groups.TITLE}, null, null, null);     
    cursor.moveToFirst();
    int len = cursor.getCount();

    String groupId = null;
    for (int i = 0; i < len; i++) {
        String id = cursor.getString(cursor.getColumnIndex(Groups._ID));
        String title = cursor.getString(cursor.getColumnIndex(Groups.TITLE));

        if (title.equals(groupTitle)) {
            groupId = id;
            break;
        }
        cursor.moveToNext();
    }
    cursor.close();

    return groupId;
}
于 2013-10-14T07:39:40.210 回答
0

如果您想要访问groupId的内容,您可以通过传递列名和它 的group name值来调用getContentResolver().query( ... )内容提供者。ContactsContract.Contacts.DISPLAY_NAME

你也可以看看这似乎是帖子Getting Contact GroupName and GroupId

于 2013-10-09T03:59:19.690 回答