Хорошо, поэтому книга, которую я собираюсь, хочет, чтобы я позвонил конкретному человеку.Как получить номер телефона от определенного контакта в Android?
Я могу получить контакт просто отлично, это целый «получение идентификатора контакта, чтобы найти бит номера телефона», с которым у меня возникают проблемы.
Приложение разбивается каждый раз, когда я выбираю контакт.
Я полагаю, что я не уверен, как правильно перейти к идентификатору контакта.
Я довольно новичок в Android, и теперь я просто полностью теряюсь, я не могу найти здесь решение, которое мне помогает.
Соответствующий код:
}else if(requestCode == REQUEST_CONTACT) {
Uri contactsURI = data.getData();
String[] queryFields = new String[]{
ContactsContract.Contacts.DISPLAY_NAME
};
//Perform your query - the contactURI is like a "where"
//clause here
Cursor c = getActivity().getContentResolver().query(contactsURI, queryFields, null, null, null);
//Double-check that you actually got results
if (c.getCount() == 0) {
c.close();
return;
}
contactID = c.getString(c.getColumnIndex(ContactsContract.Contacts._ID));
//Pull out the first column of the first row of data
//that is your suspects name
c.moveToFirst();
String suspect = c.getString(0);
mCrime.setmSuspect(suspect);
mSuspectButton.setText(suspect);
c.close();
}
}
Я сбой из-за этой части кода выше:
contactID = c.getString(c.getColumnIndex(ContactsContract.Contacts._ID));
Какова ошибка в logcat –
В нем указатель Cursor out of bounds. – MrTimotheos
см. Мой ответ ниже, проверьте, работает ли он. –