Я работаю над контактом Android. Я хочу запросить номера телефонов (не имя контакта) из определенного имени группы. Какой запрос я должен выполнить для этого?Как получить номера телефонов для определенной группы
1
A
ответ
0
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 и получите данные о группе для сравнения.
Если вы ищете конкретные данные о группе первого запроса для группы строк ID, чем вы можете добавить, что к следующему курсора, как так ...
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);
Спасибо за ответ. Я пробовал запрос выше, и я успешно получил имена контактов для данной группы, используя c.getString (c.getColumnIndex (Data.DISPLAY_NAME)). Но когда я сделал то же самое, чтобы получить номера телефонов, используя c.getString (c.columnIndex (CommonDataKinds.Phone.NUMBER)), курсор, казалось, возвращал идентификатор группы Row, а не номера телефонов. Это странно ... –
thats, потому что телефонные номера хранятся под другим блоком данных/mimetype, и кажется, что вы пытаетесь найти их под тем же типом, что и группы. Вам нужно сделать отдельный запрос и искать вместо этого mimetype Phone.CONTENT_ITEM_TYPE, или вы можете сделать один запрос и проверить, какой тип mimetype и обрабатывать соответствующим образом. Если это кажется запутанным, вы должны действительно прочитать эту страницу http://developer.android.com/resources/articles/contacts.html, поскольку она очень информативна. – Maurycy