После выбора одного контакта из моего списка контактов он не получает только один контакт, но все они вместо этого.Получите только один контакт из списка контактов в андроид-приложении
Вот что я делаю, чтобы получить номер телефона:
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == RESULT_OK) {
switch (requestCode) {
case CONTACT_PICKER_RESULT:
ContentResolver cr = getContentResolver();
Cursor c = cr.query(ContactsContract.Contacts.CONTENT_URI,
null, null, null, null);
if (c.moveToFirst()) {
String id = c.getString(c.getColumnIndex(ContactsContract.Contacts._ID));
Cursor phone = cr.query(Phone.CONTENT_URI,null,null,null,null);
while(phone.moveToNext()){
String number = phone.getString(phone.getColumnIndex(Phone.NUMBER));
int type = phone.getInt(phone.getColumnIndex(Phone.TYPE));
this.numeros.add(number);
}
}
break;
}
this.mostarToast(this.numeros.size() + " contatos adicionados.");
} else {
// gracefully handle failure
Log.w("Erro", "Erro ao adicionar contato!");
}
}
Метод «mostrarToast» только для демонстрации того, сколько контактов я выбрал. Но вместо одного он показывает 101 контакт. Как я могу выбрать именно один?
Хм ... я пытался, но он дал мне 0 результатов .... –
Некоторые контакты могут поступать без телефонных номеров, вы можете попробовать с другим. – Eefret