D:\worksp\cordova\CordovaProject>cordova plugin add cordova-plugin-contacts
<button id = "createContact">ADD CONTACT</button> <button id = "findContact">FIND CONTACT</button> <button id = "deleteContact">DELETE CONTACT</button>
document.getElementById("createContact").addEventListener("click", createContact); document.getElementById("findContact").addEventListener("click", findContact); document.getElementById("deleteContact").addEventListener("click", deleteContact);
第一個回撥函式將呼叫navigator.contacts.create方法,在這裡我們可以指定新的聯絡人資料。這將建立聯絡人並將其分配給 myContact 變數,但它不會儲存在裝置上。要儲存它,我們需要呼叫儲存方法,並建立成功和錯誤的回撥函式。
function createContact() { var myContact = navigator.contacts.create({"displayName": "Test User"}); myContact.save(contactSuccess, contactError); function contactSuccess() { alert("Contact is saved!") } function contactError(message) { alert('Failed because: ' + message); } }
第二個回撥函式將查詢所有聯絡人。我們將使用navigator.contacts.find方法。options物件具有用於指定搜尋過濾器過濾引數。multiple = true 是因為我們想從裝置返回所有聯絡人。我們還使用通過displayName欄位作為鍵,在儲存聯絡人後,用它來搜尋聯絡人。
該選項設定後,使用 find 方法來查詢聯絡人。在找到聯絡人時提醒訊息將觸發。
function findContacts() { var options = new ContactFindOptions(); options.filter = ""; options.multiple = true; fields = ["displayName"]; navigator.contacts.find(fields, contactfindSuccess, contactfindError, options); function contactfindSuccess(contacts) { for (var i = 0; i < contacts.length; i++) { alert("Display Name = " + contacts[i].displayName); } } function contactfindError(message) { alert('Failed because: ' + message); } }
在這一步中,我們再次使用find方法,但這一次我們會設定不同的選項。options.filter被設定為自動搜尋測試使用者,因為我們想刪除它。找到成功之後回撥 contactfindSuccess 已經回到我們想要的聯絡人, 我們通過使用刪除方法需要在成功和錯誤回撥。
function deleteContact() { var options = new ContactFindOptions(); options.filter = "Test User"; options.multiple = false; fields = ["displayName"]; navigator.contacts.find(fields, contactfindSuccess, contactfindError, options); function contactfindSuccess(contacts) { var contact = contacts[0]; contact.remove(contactRemoveSuccess, contactRemoveError); function contactRemoveSuccess(contact) { alert("Contact Deleted"); } function contactRemoveError(message) { alert('Failed because: ' + message); } } function contactfindError(message) { alert('Failed because: ' + message); } }
目前,我們只需要在裝置上儲存一個聯絡人。這裡將手動新增一個聯絡人用來演示刪除處理。
現在,可以點選 DELETE CONTACT 按鈕刪除測試使用者(est User)。如果再次檢查聯絡人列表,我們會看到,已經沒有測試使用者( Test User)了。