如何按标题获取组ID?

时间:2013-10-09 03:43:06

标签: java android contacts

我想将联系会员添加到群组中:

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

目前我只有TITLE这个群组,如何通过此标题获得groupId

2 个答案:

答案 0 :(得分: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;
}

答案 1 :(得分:0)

如果您希望按groupId访问group name,则可以通过getContentResolver().query( ... )列名称及其值分别调用内容提供商处的ContactsContract.Contacts.DISPLAY_NAME

  

你也可以看一下Getting Contact GroupName and GroupId