cordova插件- Contacts

2018-03-30 14:44:48 浏览数 (1)

  • 添加插件

$cordova plugin add cordova-plugin-contacts

图 8出现如上则添加成功

  • 插件的使用
  • Methods
  • navigator.contacts.create
  • navigator.contacts.find
  • navigator.contacts.pickContact
  • Example
代码语言:javascript复制
<!--这是选择联系人-->
function openContacts () {

    navigator.contacts.pickContact(function (contact) {

        console.log('the follow contact has been selected'  JSON.stringify(contact));

    },function (err) {
        console.log('error'  err);
    })

}

选择之后返回的是一串json数据

代码语言:javascript复制
{
代码语言:javascript复制
    "id": 3,
代码语言:javascript复制
    "rawId": null,
代码语言:javascript复制
    "displayName": null,
代码语言:javascript复制
    "name": {
代码语言:javascript复制
        "givenName": "John",
代码语言:javascript复制
        "honorificSuffix": null,
代码语言:javascript复制
        "formatted": "John Appleseed",
代码语言:javascript复制
        "middleName": null,
代码语言:javascript复制
        "familyName": "Appleseed",
代码语言:javascript复制
        "honorificPrefix": null
代码语言:javascript复制
    },
代码语言:javascript复制
    "nickname": null,
代码语言:javascript复制
    "phoneNumbers": [
代码语言:javascript复制
        {
代码语言:javascript复制
            "value": "888-555-5512",
代码语言:javascript复制
            "pref": false,
代码语言:javascript复制
            "id": 0,
代码语言:javascript复制
            "type": "mobile"
代码语言:javascript复制
        },
代码语言:javascript复制
        {
代码语言:javascript复制
            "value": "888-555-1212",
代码语言:javascript复制
            "pref": false,
代码语言:javascript复制
            "id": 1,
代码语言:javascript复制
            "type": "home"
代码语言:javascript复制
        }
代码语言:javascript复制
    ],
代码语言:javascript复制
    "emails": [
代码语言:javascript复制
        {
代码语言:javascript复制
            "value": "John-Appleseed@mac.com",
代码语言:javascript复制
            "pref": false,
代码语言:javascript复制
            "id": 0,
代码语言:javascript复制
            "type": "work"
代码语言:javascript复制
        }
代码语言:javascript复制
    ],
代码语言:javascript复制
    "addresses": [
代码语言:javascript复制
        {
代码语言:javascript复制
            "pref": "false",
代码语言:javascript复制
            "locality": "Atlanta",
代码语言:javascript复制
            "region": "GA",
代码语言:javascript复制
            "id": 0,
代码语言:javascript复制
            "postalCode": "30303",
代码语言:javascript复制
            "country": "USA",
代码语言:javascript复制
            "type": "work",
代码语言:javascript复制
            "streetAddress": "3494 Kuhl Avenue"
代码语言:javascript复制
        },
代码语言:javascript复制
        {
代码语言:javascript复制
            "pref": "false",
代码语言:javascript复制
            "locality": "Atlanta",
代码语言:javascript复制
            "region": "GA",
代码语言:javascript复制
            "id": 1,
代码语言:javascript复制
            "postalCode": "30303",
代码语言:javascript复制
            "country": "USA",
代码语言:javascript复制
            "type": "home",
代码语言:javascript复制
            "streetAddress": "1234 Laurel Street"
代码语言:javascript复制
        }
代码语言:javascript复制
    ],
代码语言:javascript复制
    "ims": null,
代码语言:javascript复制
    "organizations": null,
代码语言:javascript复制
    "birthday": "1980-06-22T12:00:00.000Z",
代码语言:javascript复制
    "note": "College roommate",
代码语言:javascript复制
    "photos": null,
代码语言:javascript复制
    "categories": null,
代码语言:javascript复制
    "urls": null
代码语言:javascript复制
}

具体字段的含义参见:http://cordova.apache.org/docs/en/latest/reference/cordova-plugin-contacts/index.html

代码语言:javascript复制
<!--这是新建联系人-->

function createContact () {

    var myContact = navigator.contacts.create({"displayName":"test user"});

    myContact.save(function (contact) {

        console.log('the contact has created'  json.stringify(contact));

    },function (err) {

        console.log('error'  err);
    });

}
代码语言:javascript复制
<!--这是找寻联系人-->

function findContct () {

    function onSuccess(contact) {

        alert(' 找到='  contact.length  '个联系人');
    }

    function onError(error) {

        alert('error' error);

    }
    var  options = new ContactFindOptions();
    options.filter = "test user";
    options.multiple = true;
    options.desiredFields = [navigator.contacts.fieldType.id];
    options.hasPhoneNumber = false;

    var  fields = [navigator.contacts.fieldType.displayName,navigator.contacts.fieldType.name];
    navigator.contacts.find(fields,onSuccess,onError,options);

}

0 人点赞