2014-11-10 2 views
0

Есть ли способ получить контакты? Имя_файла family_name, префикс и суффикс? используя один запрос для всех контактов.восстановить контакты Имя, имя_файла, префикс и суффикс из Android Контакты

Я нашел множество решений, предлагающих запрашивать таблицу ContactsContract.Data.CONTENT_URI, но они указывают идентификатор контакта, для которого они хотят получить информацию. Я хочу создать как соединение между таблицей «Контакты» и «Данные», чтобы получить все контакты, но с дополнительной информацией.

ответ

0

Вы можете получить типы, обратившись к этому URI структурированного имени содержимого.

http://developer.android.com/reference/android/provider/ContactsContract.CommonDataKinds.StructuredName.html

Он имеет все атрибуты, которые вам нужны, просто держать выбор пуст, и вы будете иметь структурированные данные имен для всех контактов.

Используйте этот код для запроса контактов имя, отчество, фамилию и префикс

  Uri nameUri = ContactsContract.Data.CONTENT_URI; 
     String selection = ContactsContract.Data.MIMETYPE + "='" 
        + ContactsContract.CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE + "'"; 

     Cursor cursor = getContentResolver().query(nameUri, new String[]{ 
       ContactsContract.CommonDataKinds.StructuredName._ID, 
       ContactsContract.CommonDataKinds.StructuredName.DISPLAY_NAME, 
       ContactsContract.CommonDataKinds.StructuredName.PREFIX, 
       ContactsContract.CommonDataKinds.StructuredName.GIVEN_NAME, 
       ContactsContract.CommonDataKinds.StructuredName.MIDDLE_NAME, 

       }, selection, null, ContactsContract.CommonDataKinds.StructuredName.DISPLAY_NAME); 
+0

вы можете дать подробную информацию о том, что вы имеете в виду именно? и пример? –

+0

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

+0

Таблица данных уже является объединением всех основных контактных таблиц, какая точная информация вы хотите, чтобы требовать этого соединения? http://developer.android.com/reference/android/provider/ContactsContract.DataColumnsWithJoins.html – iago

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