Я работаю над приложением Android Honeycomb (v3.0), которое имеет требование отображать ВСЕ контакты, хранящиеся в учетной записи Google, зарегистрированные на устройстве. Одна из проблем, с которыми я сталкиваюсь, заключается в том, что я могу только получить контакты, доступные в "Мои контакты", "Помеченные в Android" и "Другие контакты". Я также хотел бы иметь возможность получать контакты из "Справочника". Я считаю, что раздел "Каталог" - это функция, предоставляемая Google организациям и компаниям, которые хотят предоставить директорию всех членов/сотрудников в своих доменах другим. Посмотрите скриншот ниже:
До сих пор у меня есть следующая строка в файле манифеста:
<uses-permission android:name="android.permission.READ_CONTACTS" />
Я пробовал использовать этот код:
Cursor cursor = getContentResolver().query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);
while (cursor.moveToNext()) {
String name = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
}
cursor.close();
В моем случае "Мои контакты" и "Помеченные на Android" пустые. Тем не менее, получается контакт (1) в разделе "Другие контакты". "Каталог" содержит сотни контактов, которые не извлекаются, однако.
Мой вопрос: есть ли способ убедиться, что контакты в "Справочнике" также получены? Я знаю, что я могу просто скопировать контакты с помощью веб-браузера, а затем синхронизировать их к устройству, но если новый контакт добавлен в "Справочник", мне придется делать это вручную каждый раз, поэтому для меня это не отличный выбор. Просьба сообщить.