Как найти фамилию и номер из контактов?

186
15 февраля 2018, 15:12

Моя задача состоит в том чтобы получить имя фамилию и номер телефона абонента. Вот так я получаю все значения, кроме фамилии.

Фамилии в ContactsContract.CommonDataKinds.Phone. просто нету.

Cursor cursor = contentResolver.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, null, null, null);
    while (cursor.moveToNext()) {
        int idPhone = cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER);
        int idName = cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME);
        int idContact = cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.CONTACT_ID);
        String phone = cursor.getString(idPhone);
        String name = cursor.getString(idName);
        String id = cursor.getString(idContact);

На SO Нашел такой ответ. Он тоже рабочий. Я не хочу делать 2 запроса по всему списку, чтобы получить номера, а потом и фамилию. Это занимает много времени.

Можно ли как - то объединить эти 2 запроса? Запрос на получения номеров и имени с фамилией

String whereName = ContactsContract.Data.MIMETYPE + " = ?";
    String[] whereNameParams = new String[] { ContactsContract.CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE };
    Cursor nameCur = contentResolver.query(ContactsContract.Data.CONTENT_URI, null, whereName, whereNameParams, ContactsContract.CommonDataKinds.StructuredName.GIVEN_NAME);
    while (nameCur.moveToNext()) {
        String given = nameCur.getString(nameCur.getColumnIndex(ContactsContract.CommonDataKinds.StructuredName.GIVEN_NAME));
        String family = nameCur.getString(nameCur.getColumnIndex(ContactsContract.CommonDataKinds.StructuredName.FAMILY_NAME));
        String display = nameCur.getString(nameCur.getColumnIndex(ContactsContract.CommonDataKinds.StructuredName.DISPLAY_NAME));
    }
    nameCur.close();
READ ALSO
String и сравнение через == [дубликат]

String и сравнение через == [дубликат]

На данный вопрос уже ответили:

191
Роль interface в Java

Роль interface в Java

Здравствуйте, давно читаю разные туториалы и много где встречаю должно быть мало зависимостей, как я понял это все достигается при помощи...

213
Отделение логики приложения от Swing-потока

Отделение логики приложения от Swing-потока

Добрый деньЯ пишу приложение с графическим интерфейсом используя Swing

132
Отключение локализации библиотеки в Android приложении

Отключение локализации библиотеки в Android приложении

Всем приветТакой вопрос, как отключить локализацию текстов в UI подключаемой библиотеки? Использую Zendesk Support SDK for Android и пытаюсь сделать так...

122