首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安卓ContactsContract.Directory接口

安卓ContactsContract.Directory接口
EN

Stack Overflow用户
提问于 2012-05-12 01:00:53
回答 2查看 380关注 0票数 3

我正在尝试从全球通讯簿(公司帐户)中选择电话号码。我想使用本机选择器/API,因为我不想提示用户输入登录凭据。我偶然发现了ContactsContract.Directory应用编程接口。然而,我找不到任何关于如何使用它的示例。我试过了:

代码语言:javascript
复制
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,因为我还不确定如何检索电话号码。谢谢你的帮助。

EN

回答 2

Stack Overflow用户

发布于 2014-09-30 14:44:07

请看一下another question附带的源代码,我是这样问的。这个应用程序使用ContactsContract.Directory,可以在许多不同的设备上运行,除了宏达电。

尽管这个问题很古老,但它可能会对其他人有所帮助

票数 0
EN

Stack Overflow用户

发布于 2014-09-30 14:56:50

代码语言:javascript
复制
Cursor phones = getActivity().getContentResolver().query(
            ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, null,
            null, null);
    while (phones.moveToNext()) {
        Contact_Class contacts = new Contact_Class();
        contacts.setPersonName(phones.getString(phones
                .getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME)));
        contacts.setPhoneNumber(phones.getString(phones
                .getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)));

        contact_list.add(contacts);

    }

    phones.close();
public class Contact_Class {
String personName;
String phoneNumber;
public String getPersonName() {
    return personName;
}
public void setPersonName(String personName) {
    this.personName = personName;
}
public String getPhoneNumber() {
    return phoneNumber;
}
public void setPhoneNumber(String phoneNumber) {
    this.phoneNumber = phoneNumber;
}

}

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10555628

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档