我正在尝试从全球通讯簿(公司帐户)中选择一个电话号码。我想使用本机选择器/API,因为我不想提示用户输入登录凭据。我遇到了 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,因为我还不确定如何检索电话号码。谢谢你的帮助。