- 科尔多瓦教程
- 科尔多瓦 - 主页
- 科尔多瓦 - 概述
- 科尔多瓦 - 环境设置
- 科尔多瓦 - 第一次申请
- Cordova - Config.xml 文件
- 科尔多瓦 - 存储
- 科尔多瓦 - 活动
- 科尔多瓦 - 后退按钮
- 科尔多瓦 - 普拉格曼
- Cordova - 电池状态
- 科尔多瓦 - 相机
- 科尔多瓦 - 联系方式
- 科尔多瓦 - 设备
- Cordova - 加速度计
- Cordova - 设备方向
- 科尔多瓦 - 对话
- 科尔多瓦 - 文件系统
- 科尔多瓦 - 文件传输
- 科尔多瓦 - 地理定位
- 科尔多瓦 - 全球化
- Cordova - InAppBrowser
- 科尔多瓦 - 媒体
- Cordova - 媒体捕获
- 科尔多瓦 - 网络信息
- 科尔多瓦 - 启动画面
- 科尔多瓦 - 振动
- 科尔多瓦 - 白名单
- 科尔多瓦 - 最佳实践
- 科尔多瓦有用资源
- 科尔多瓦 - 快速指南
- 科尔多瓦 - 有用的资源
- 科尔多瓦 - 讨论
科尔多瓦 - 联系方式
该插件用于访问设备的联系人数据库。在本教程中,我们将向您展示如何创建、查询和删除联系人。
第 1 步 - 安装联系人插件
C:\Users\username\Desktop\CordovaProject>cordova plugin add cordova-plugincontacts
第 2 步 - 添加按钮
该按钮将用于调用createContact函数。我们将其放置在index.html文件中的div class = "app"中。
<button id = "createContact">ADD CONTACT</button> <button id = "findContact">FIND CONTACT</button> <button id = "deleteContact">DELETE CONTACT</button>
第 2 步 - 添加事件监听器
打开index.js并将以下代码片段复制到onDeviceReady函数中。
document.getElementById("createContact").addEventListener("click", createContact); document.getElementById("findContact").addEventListener("click", findContact); document.getElementById("deleteContact").addEventListener("click", deleteContact);
步骤 3A - 回调函数 (navigator.contacts.create)
现在,我们的设备上没有存储任何联系人。
我们的第一个回调函数将调用navigator.contacts.create方法,我们可以在其中指定新的联系人数据。这将创建一个联系人并将其分配给myContact变量,但它不会存储在设备上。为了存储它,我们需要调用save方法并创建成功和错误回调函数。
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); } }
当我们点击添加联系人按钮时,新的联系人将被存储到设备联系人列表中。
步骤 3B - 回调函数 (navigator.contacts.find)
我们的第二个回调函数将查询所有联系人。我们将使用navigator.contacts.find方法。options 对象具有 filter 参数,用于指定搜索过滤器。使用multiple = true是因为我们想要从设备返回所有联系人。通过显示名称搜索联系人的字段键,因为我们在保存联系人时使用了它。
设置好选项后,我们就可以使用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); } }
当我们按下“查找联系人”按钮时,将触发一个警报弹出窗口,因为我们只保存了一个联系人。
步骤 3C - 回调函数(删除)
在此步骤中,我们将再次使用 find 方法,但这次我们将设置不同的选项。options.filter设置为搜索必须删除的测试用户。在contactfindSuccess回调函数返回我们想要的联系人后,我们将使用需要自己的成功和错误回调的remove方法来删除它。
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); } }
现在,我们的设备上只存储了一个联系人。我们将手动再添加一个来向您展示删除过程。
现在,我们将单击“删除联系人”按钮来删除测试用户。如果我们再次检查联系人列表,我们将看到测试用户不再存在。