2012-12-24 126 views
0

我正在爲黑莓10創建一個短信聊天應用程序。所以我想列出黑莓數據庫中的所有聯繫人並將其列出給用戶,以便用戶可以輕鬆地輕鬆選擇收件人的手機號碼。是否有任何方法可以使用html5/webworks 。我只想把所有聯繫人的姓名和手機號碼放入一個數組或類似的東西。任何人都可以幫忙? 在此先感謝。如何列出BlackBerry-10聯繫人列表中的所有聯繫人?

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

回答

1

BB10有嚴格UI guidelines。你可以通過兩種方式來完成。您可以調用已經存在的本地聯繫人列表「卡片」或直接調用查找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); 
} 

讓我知道這是否幫助了!