Очевидно, что вы можете выбрать контакты по вашему выбору из списка контактов. Но вам просто нужно найти правильное предложение «где» в запросе (например, какой тип контактов вы хотите из списка).
И да, вам нужно создать отдельный макет, чтобы показать их.
Пример: Получение контактов с телефоном
Cursor cursor = getContentResolver().query(ContactsContract.Contacts.CONTENT_URI,null, ContactsContract.Contacts.HAS_PHONE_NUMBER+"='true'", null, null); // gives you the list of contacts who has phone numbers
while (cursor.moveToNext()) {
String contactId = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));
Cursor phones = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID +" = "+ contactId, null, null);
while (phones.moveToNext()) {
String phoneNumber = phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
}
phones.close();
}
Надежда, я получаю ваше требование не correctly.If, пожалуйста, дайте мне знать!
Похоже, вы говорите о двух разных вещах: Вы говорите о программном чтении контактов с ContactsContractProvider? Или вы говорите о выборе контактов с помощью намерения CONTACT_PICK? –