Я создал приложение для Android под названием Location Texter .
Он работает нормально, кроме случаев, когда я хочу искать контакты, я хочу, чтобы отображались только контакты с номером телефона. В настоящее время он показывает все контакты.
Вот код:
public void showContacts(Main main, Intent data) {
Cursor cursor = main.managedQuery(data.getData(), null, null, null, null);
cursor.moveToNext();
String contactId = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));
String name = cursor.getString(cursor.getColumnIndexOrThrow(ContactsContract.Contacts.DISPLAY_NAME));
Cursor phones = main.getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
null,ContactsContract.CommonDataKinds.Phone.CONTACT_ID +" = "+ contactId,null, null);
while (phones.moveToNext()) {
String phoneNo = phones.getString(phones.getColumnIndex(
ContactsContract.CommonDataKinds.Phone.NUMBER));
main.numbers.add(phoneNo);
}
main.pickPhoneNos(name);
phones.close();
}
То, что он делает, это открывает намерение со всеми контактами. Когда один из них выбран, он возвращается к основной деятельности. Если выбранный контакт имеет более одного номера мобильного телефона, он отображает диалоговое окно с просьбой выбрать один из них. Я заметил, что с некоторыми из моих попыток диалог не появляется.
Пожалуйста, скачайте приложение, если трудно понять, о чем я.