Извлечение контактов в андроид - PullRequest
0 голосов
/ 07 октября 2011

Я вставил несколько контактов через эмулятор Android.

Я хотел получить имена, номера, электронные письма и т. Д. за каждый контакт.

Я понял, что для получения контактного номера нам нужно обратиться к

ContactsContract.CommonDataKinds.Phone.CONTENT_URI

вместо

ContactsContract.Contacts.CONTENT_URI

У меня вопрос: как связать результаты запроса, чтобы объединить один контакт и его атрибуты? Похоже, что только ContactsContract.Data.DISPLAY_NAME является общим как в результатах, так и в единственном атрибуте, который может быть получен в обоих URI без указания в проекции запроса.

Может ли кто-нибудь направить меня?

Спасибо, Adithya.

Ответы [ 3 ]

0 голосов
/ 07 октября 2011

В onactivityresult мы получаем курсор к базе данных контактов, чтобы получить доступ к различным полям базы данных контактов, у нас есть ContactsContract.PhoneLookup, через который мы можем индексировать различные столбцы БД и затем обращаться к ним.

0 голосов
/ 07 октября 2011

Используйте выбор из ContactsContract.Data.CONTENT_URI и группируйте результаты по LOOKUP_KEY.Вы получите один курсор с телефонами, электронными письмами и т. Д., Сгруппированные по контактам.

...