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);
}
讓我知道這是否幫助了!