Android 无法获得真正的联系';安卓设备的s组?
我试图用下面的代码从android设备获取所有组。然后我将所有组名和id放入arraylist中Android 无法获得真正的联系';安卓设备的s组?,android,contacts,addressbook,contactgroups,Android,Contacts,Addressbook,Contactgroups,我试图用下面的代码从android设备获取所有组。然后我将所有组名和id放入arraylist中 Uri CONTENT_URI = ContactsContract.Groups.CONTENT_URI; String GR_ID = ContactsContract.Groups._ID; String GR_TITLE = ContactsContract.Groups.TITLE; ContentResolver c
Uri CONTENT_URI = ContactsContract.Groups.CONTENT_URI;
String GR_ID = ContactsContract.Groups._ID;
String GR_TITLE = ContactsContract.Groups.TITLE;
ContentResolver cr = getContentResolver();
Cursor groupCursor = cr.query(CONTENT_URI, null, null, null,
ContactsContract.Groups._ID + " ASC");
while (groupCursor.moveToNext()) {
String group_id = groupCursor.getString(groupCursor.getColumnIndex(GR_ID));
String group_name = groupCursor.getString(groupCursor.getColumnIndex(GR_TITLE));
Group grp = new Group(group_name);
grp.setId(group_id);
arrayPersonal.add(grp);
}
groupCursor.close();
这就是结果
某些组具有不同的id但名称相同。我不知道为什么?
任何帮助都将不胜感激!谢谢 我也遇到了同样的问题,我通过选择contacts contract.Groups.ACCOUNT\u TYPE='com.google' 我遇到这个问题是因为我查询ACCOUNT_TYPE列以查看它包含的内容,其中一些条目是“com.google”,另一些条目是“DeviceOnly”。我对我的组查询还有一些其他的限制,这些限制来自内部的Android库(),因此使用它们似乎是明智的。这是我的整个选择语句(对于游标加载程序)
private static final String CONTACT_GROUP_SELECTION = ContactsContract.Groups.AUTO_ADD + " = 0 "
+ " AND " + ContactsContract.Groups.ACCOUNT_TYPE + " = 'com.google' "
+ " AND " + ContactsContract.Groups.ACCOUNT_NAME + " NOT NULL "
+ " AND " + ContactsContract.Groups.FAVORITES + " = 0 "
+ " AND " + ContactsContract.Groups.DELETED + " = 0 ";