2016-12-11 8 views
0

Я разрабатываю приложение для Android, и мне нужно знать всю информацию о контактах телефона.Какую информацию я могу найти в android's Contacts Provider

Я разработал функцию, чтобы получить имя и номер всех контактов, но мне нужна вся информация о конкретном контакте, такая как электронная почта, дата, любимая или нет, изображение, социальные ссылки, если таковые имеются.

Я получил id, name и number из следующих действий:

String id = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID)); 
String name = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME)); 
String number = pCur.getString(pCur.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)); 

Я использовал ContactsContract.Contacts получить _ID и DISPLAY_NAME, но ContactsContract.CommenDataKinds.Phone, чтобы получить число. Правильно ли это?

Пожалуйста, объясните разницу между этими двумя методами.

Является ли _ID уникальным идентификатором для всех контактов?

+0

запрос это 'Uri':' ContactsContract.Data # CONTENT_URI' – pskink

+0

как? Может ли ты сказать мне пример? – Torai

+0

и как вы получаете * «имя и номер всех контактов» *? – pskink

ответ

1

После долгого обсуждения с @pskink я наконец нашел решение для отображения всей связанной информации для каждого контакта в каталоге. Прежде всего, создать курсор:

Cursor cursor = cr.query(ContactsContract.Data.CONTENT_URI, null, null, null, null); 

И после этого, вы можете немой курсор, чтобы показать всю информацию и видеть каждый контакт и ключевые слова, необходимые для использования, как (custom_ringtone, display_name, photo_uri, is_primary , ..), используя следующую строку кода:

DatabaseUtils.dumpCursor(cursor); 

Особая благодарность @pskink

 Смежные вопросы

  • Нет связанных вопросов^_^