Android - не могу получить номер телефона некоторых контактов

У меня проблема с извлечением телефонных номеров некоторых людей из моего списка контактов.

Сначала я показываю все контакты в виде списка:

String[] projection = new String[] {
            ContactsContract.Contacts._ID,
            ContactsContract.CommonDataKinds.Phone.CONTACT_ID,
            ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME,
            ContactsContract.CommonDataKinds.Phone.NUMBER
    };

mCursor = mContext.getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
            projection, ContactsContract.CommonDataKinds.Phone.CONTACT_ID + "=?", new String[] {mContactId}, null);

При нажатии на элемент, вот как я получаю contact_id:

@Override
public void onListItemClick(ListView l, View v, int position, long id) {
        Cursor currentCursor = mContactsAdapter.getCursor();

    if (currentCursor != null) {
        notifyOnContactSelectedListeners(String.valueOf(id));
    }
}

Затем я создаю новый фрагмент и при его загрузке запрашиваю телефон контакта & amp; отображаемое имя:

if (cursor != null && cursor.getCount() > 0) {

        cursor.moveToFirst();

        String firstName = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
        String number = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
    }

Поэтому для некоторых людей, у которых есть телефон, я получаю номер телефона таким образом, и это нормально. Но для некоторых людей я не могу получить номер телефона таким образом, но у них есть номер телефона в телефонной книге контактов по умолчанию.

Что пошло не так?

Ответы на вопрос(3)

Ваш ответ на вопрос