Я пытаюсь выбрать номер телефона из глобальной адресной книги (корпоративная учетная запись). Я хотел бы использовать собственный сборщик/API, потому что я не хочу запрашивать у пользователя учетные данные для входа. Я наткнулся на API ContactsContract.Directory. Однако я не мог найти никаких примеров того, как их использовать. Я пробовал:Android ContactsContract.Directory API
private static final String[] PEOPLE_PROJECTION = new String[] {
ContactsContract.Directory._ID,
ContactsContract.Directory.DISPLAY_NAME,
};
StringBuilder buffer = null;
String[] args = null;
if (constraint != null) {
buffer = new StringBuilder();
buffer.append("UPPER(");
buffer.append(Phone.DISPLAY_NAME);
buffer.append(") GLOB ?");
args = new String[] { constraint.toString().toUpperCase() + "*" };
}
Cursor c = getContentResolver().query(ContactsContract.Directory.CONTENT_URI, PEOPLE_PROJECTION, buffer == null ? null : buffer.toString(), args, null);
Но c всегда возвращает null. Обратите внимание, что я пытаюсь восстановить здесь только DISPLAY_NAME, так как я не уверен, как восстановить номер телефона. Спасибо за вашу помощь.