cordova-plugin-contacts联系人操作

一、cordova-plugin-contacts插件可以操作手机联系人,需要客户端用户同意授权当前程序访问。

1.安装命令

cordova plugin add cordova-plugin-contacts
2.插件相关api和对象

操作方法

  • navigator.contacts.create
  • navigator.contacts.find
  • navigator.contacts.pickContact
相关对象

  • Contact
  • ContactName
  • ContactField
  • ContactAddress
  • ContactOrganization
  • ContactFindOptions
  • ContactError
  • ContactFieldType

获取当前系统的联系人信息的可用字段:


3.查询联系人、获取联系人列表

//获取列表
var contactFileds = ["displayName", "name", "phoneNumbers", "emails", "address"];
//filter制定为空或不指定返回所有联系人列表
var options = { filter: "", multiple: true };
navigator.contacts.find(contactFileds, onSuccess, onError, options);
function onSuccess(contacts) {
    console.info(contacts);
    var str = '';
    for (var i = 0; i < contacts.length; i++) {
        str += "Contact[" + i + "]: " + JSON.stringify(contacts[i])+'<br />';
    }
    app3.result1 = str;
}
function onError(err) {
    app3.result1 = JSON.stringify(err);
}

输出联系人详细信息:


4.新增联系人

//简单创建方式
var contact1 = navigator.contacts.create({
    displayName: '测试One',
    phoneNumbers: [{ value: '15112341234' }]
});
//保存处理
contact1.save(function () {
    alert('添加成功');
}, function (err) {
    alert('添加失败:' + JSON.stringify(err));
    });
console.info(contact1);

//详细方式创建
var contact2 = navigator.contacts.create();
contact2.displayName = '测试Two';
var tmpName = new ContactName();
tmpName.givenName = "试Two";
tmpName.familyName = '测';
tmpName.formatterd = '测 试Two';
contact2.name = tmpName;

var phoneNumbers = [];
phoneNumbers[0] = new ContactField('work', '0531-12341234', false);
phoneNumbers[1] = new ContactField('mobile', '15112341234', true);//是否是主号
contact2.phoneNumbers = phoneNumbers;

console.info(contact2);
//保存
contact2.save(function () {
    alert('添加成功');
}, function (err) {
    alert('添加失败:' + JSON.stringify(err));
});
5.删除联系人

//1.查找获取联系人对象
navigator.contacts.find(["displayName"], function (res) {
    console.info(res);
    //删除处理
    for (var i = 0; i < res.length; i++) {
        var item = res[i];
        item.remove(function () {
            alert('删除成功');
        }, function () {
            alert('删除失败');
        });
    }
}, function (err) {
    alert(JSON.stringify(err));
}, {
        filter: 'Two'
    });
更多:  

cordova-plugin-device-motion加速计和cordova-plugin-device-orientation设备方向

cordova-plugin-globalization本地化

相关文章
相关标签/搜索