首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何列出黑莓-10通讯录中的所有通讯录?

如何列出黑莓-10通讯录中的所有通讯录?
EN

Stack Overflow用户
提问于 2012-12-24 10:33:51
回答 1查看 673关注 0票数 0

我正在为黑莓10创建一个短信聊天应用程序,所以我想列出所有联系人列表从黑莓数据库,并将其列出给用户,以便用户可以很容易地选择收件人的手机号码,有任何方法可以使用html5/ easily.Is这样做。我只是想得到所有联系人的姓名和手机号码到一个数组或像that.Anyone可以帮助??提前谢谢。

https://developer.blackberry.com/html5/apis/blackberry.pim.contacts.contact.html

EN

回答 1

Stack Overflow用户

发布于 2012-12-26 20:56:21

BB10有严格的UI guidelines。您可以通过两种方式完成此操作。您可以调用已经存在的本地联系人列表"Card“或直接调用find API。

要调用联系人列表卡,请使用invokeContactPicker调用模式。完整的示例代码在blackberry developer站点https://developer.blackberry.com/html5/apis/blackberry.pim.contacts.html#.invokeContactPicker上,但以下是调用单个选择卡的重要代码片段(您可以调用单个、多个和属性选择):

代码语言:javascript
复制
function onCancel() {
    alert("User pressed cancel in contact picker.");
}

function onInvoke(error) {
    if (error) {
       alert("Error invoking contact picker: " + error.code);
    } else {
       alert("Contact picker invoked!");
    }
}

function onContactSelected(data) {
   var contact = contacts.getContact(data.contactId);
   if (contact) {
      alert("Contact id #" + contactId + " corresponds to '" + contact.name.givenName + " " + contact.name.familyName +"'.");
   } else {
      alert("There is no contact with id: " + contactId);
   }

}

function onContactsSelected(data) {
    alert("Total # contacts selected: " + data.contactIds.length);
}
function invokeContactPickerSingle() {
    contacts.invokeContactPicker({
        mode: ContactPickerOptions.MODE_SINGLE,
        fields: ["phoneNumbers"]
    }, onContactSelected, onCancel, onInvoke);
}

要收集联系人并直接处理它们,请使用blackberry.pim.contacts.find应用编程接口。完整的示例代码在blackberry站点上,这里是:https://developer.blackberry.com/html5/apis/blackberry.pim.contacts.html#.find,但下面是相关代码的一小段:

代码语言:javascript
复制
function listAllContacts() {
    var sort = [{
             "fieldName": ContactFindOptions.SORT_FIELD_FAMILY_NAME,
             "desc": false
        }, {
             "fieldName": ContactFindOptions.SORT_FIELD_GIVEN_NAME,
             "desc": true
        }],
        // no filter - return all contacts
        findOptions = { 
             // sort contacts first by family name (desc), then by given name (asc)
             sort: sort,  
             limit: -1 // limit - all contacts returned
        };
    contacts.find(["name"], findOptions, onFindSuccess, onFindError);
}
function onFindSuccess(results) {
    console.log("Found " + results.length + " contacts in total");
}

function onFindError(error) {
    console.log("Error: " + error.code);
}

如果这有帮助,请让我知道!

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

https://stackoverflow.com/questions/14016443

复制
相关文章

相似问题

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