这个视频我们学习一下 Contacts ,它可以让我们去访问设备的 通讯录,你可以添加新的联系人到通讯录里面,可以找到通讯录里的联系人,也可以删除掉通讯录里的联系人。
通过录有两个方法, contacts.create 还有 contacts.find …
使用 contacts.create 可以去创建一个新的 contact 联系人对象,你需要为它指定一些属性,比如 联系人 的名称 … 地址 … 备注 等等 …
然后我们可以使用 save ,把新创建人的联系人对象保存到设备的通讯里 … 下面我们一起演示一下 …
先要安装一下 contacts 插件 …
安装
phonegap local plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-contacts.git
index.html
打开项目的 index.html .. 添加一个 创建联系人 的按钮 … 上面定义一个 ID , create-contact …
index.js
再打开 index.js … 在 device ready 事件发生以后 … 我们监听创建联系方式按钮的点击事件 … 当这个事件发生以后 … 去执行 createContact 这个动作 …
下面我们再去定义这个 createContact 要做的事情 ...
createContact
输入 navigator.contacts.create(); .. 用它来创建一个新的联系人对象 … 在它的里面,我们需要指定一些属性 … 这些属性都在一个 Contact 对象里 …
所以先输入一组大括号 .. {}
然后输入属性的名称 … 先定义一下联系人的名称 … 这个属性是 displayName … 冒号右边是这个属性的值 …
displayName: '王皓',
这样新创建的联系人对象里,联系人的名称会是 王皓 .. 不同的属性之间用逗号分隔一下 ..
再使用一个 note 属性 … 它是联系人信息里的备注 … note:'来自宁皓网'
另外 Contact 对象里面还有很多其它的属性,emails, addresses,birthday 等等 … 不过这里我们为了演示,尽量的保持简单一些 … 暂时只添加这两个属性 …
contacts.create() 会根据这些属性,返回一个联系人对象 .. 下面我们可以给它一个名字 …
var newContacts =
现在,使用 newContacts 点,后面加上属性名称的形式,就可以访问到属性的值了 … 比如 newContacts.displayName 会是 王皓 … newContacts.note 会是 来自宁皓网 …
save
到目前为止,我们只是创建了一个新的联系人对象,它并不会保存在设备的通讯录里面 … 想要保存这个联系人的话 … 需要使用 contact 对象的 save 方法 …
先输入想要保存的对象的名称 .. 也就是 newContacts .. 点 save … 这个方法里还有两个参数 … 保存成功以后要执行的动作,还有保存失败的时候要做的事情 …
newContacts.save(app.onSuccess, app.onError)
onSuccess
再定义一下成功的时候做的事情 .. 我们可以把保存成功以后的对象交给这个 onSuccess 去处理 … 输入一个 contact …
然后在它的里面,可以使用 contact 点的形式,去访问到对象里的东西 ..
console.log(‘保存成功!联系人ID’: + contact.id);
onError
再处理一下保存失败以后做的事 … 错误信息会在一个对象里 … 先把它交给 onError 去处理 … 输入 error
然后 console.log(error.code);
这个 error.code 可以输出错误信息 … 保存 …
测试
下面再去测试一下 … 打开 终端工具 … phonegap run --emulator ios .. 重新编译并且安装一下这个应用到模拟器上面 …
应用启动以后 … 点击 创建联系人 这个按钮 …
系统会提示,是否允许应用访问通讯录 … 点击 OK …
打开控制台 … 你会看到保存成功以后,把联系人的信息输出到了控制台上 …
command + shfit + h ,回到系统的主界面上 … 打开 通讯录 …
在这里,你会找到刚才我们新创建的 王皓 这个联系人 … 打开这个联系人 ..
上面会有联系人的名字 … 还有一个 备注 信息 …