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));
}
Поэтому для некоторых людей, у которых есть телефон, я получаю номер телефона таким образом, и это нормально. Но для некоторых людей я не могу получить номер телефона таким образом, но у них есть номер телефона в телефонной книге контактов по умолчанию.
Что пошло не так?