0

我正在为黑莓 10 创建一个短信聊天应用程序。所以我想列出黑莓数据库中的所有联系人并将其列出给用户,以便用户可以轻松选择收件人的手机号码。有没有办法使用 html5/webworks.I只想将所有联系人的姓名和手机号码放入数组或类似的东西中。任何人都可以帮忙吗?提前致谢。

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

4

1 回答 1

1

BB10 有严格的用户界面指南。你可以通过两种方式做到这一点。您可以调用已经存在的原生联系人列表“卡片”或直接调用查找 API。

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

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 API。完整的示例代码在黑莓网站上,这里:https ://developer.blackberry.com/html5/apis/blackberry.pim.contacts.html#.find但下面是相关代码的片段:

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);
}

让我知道这是否有帮助!

于 2012-12-26T12:56:21.450 回答