我无法获取存储联系人的组名。我可以知道它是否被添加到任何组中作为布尔值( IN_VISIBLE_GROUP).I不知道如何获得组名或id。
     ContentResolver cr = this.getContentResolver();
        Cursor cur = cr.query(ContactsContract.Contacts.CONTENT_URI, null,
                null, null, null);
     if (cur.getCount() > 0) {
     while (cur.moveToNext()) 
            {
                 id = cur.getString(cur
                        .getColumnIndex(BaseColumns._ID));
                String name = cur
                        .getString(cur
                                .getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
                String group = cur
                .getString(cur
                        .getColumnIndex(ContactsContract.Contacts.IN_VISIBLE_GROUP));我尝试过使用ContactsContract.CommonDataKinds.GroupMembership、ContactsContract.Groups和ContactsContract.Groups,但这不是解决方案。
发布于 2015-03-10 19:54:34
这是如何通过title获取组id的完整版本。基本上,它迭代all groups并比较标题来找到它的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;
}发布于 2012-11-28 17:55:44
请换件衣服
 ContentResolver cr = this.getContentResolver();至
 Uri groupURI = ContactsContract.Data.CONTENT_URI;
Cursor cur = cr.query(groupURI , null, null, null, null);
// Now you can get group ID from cursor
String groupRowId =  cur.getString   (cur.getColumnIndex(ContactsContract.CommonDataKinds.GroupMembership.GROUP_ROW_ID));https://stackoverflow.com/questions/6057131
复制相似问题