как получить номера телефонов для определенной группы - PullRequest
1 голос
/ 27 декабря 2011

Я работаю над контактом Android. Я хочу запросить телефонные номера (не имя контакта) из определенного имени группы. Какой запрос я должен выполнить, чтобы сделать это?

1 Ответ

0 голосов
/ 27 декабря 2011
Cursor c = context.getContentResolver().query(ContactsContract.Data.CONTENT_URI
, null, ContactsContract.Data.MIMETYPE+"=?"
, new String[]{ContactsContract.CommonDataKinds.GroupMembership.CONTENT_ITEM_TYPE}
, null);

Затем переберите курсор и получите нужные данные.Это вернет блоки данных, показывающие contactID, groupID и другую информацию.Затем запросите ContactsContract.Groups и получите данные о группе для сравнения.

Если вы ищете конкретные данные о первом запросе группы для идентификатора строки группы, вы можете добавить это к следующему курсору, например, так:

Cursor c = context.getContentResolver().query(ContactsContract.Data.CONTENT_URI
, null, ContactsContract.Data.MIMETYPE+"=? AND "+ ContactsContract.CommonDataKinds.GroupMembership.GROUP_ROW_ID+"=?"
, new String[]{ContactsContract.CommonDataKinds.GroupMembership.CONTENT_ITEM_TYPE, rowID }
, null);

написал код здесь, так чтоза глупые ошибки

Вы можете найти идентификатор группы, например, так ...

Cursor c = context.getContentResolver().query(ContactsContract.Groups.CONTENT_URI, new String[]{ContactsContract.Groups._ID}, ContactsContract.Groups.TITLE+"=?","myGroup", null);
...