admin 发表于 2013-6-24 19:56:43

phonegap 创建删除联系人

Contact
包含描述联系人的属性,比如用户的个人或者商务联系方式。
属性:
    id:全局唯一标识符。(DOMString类型)
    displayname:联系人显示名称,适合向最终用户展示的联系人名称。(DOMString类型)
    name:联系人姓名所有部分的对象。(CantactName类型)
    nickname:昵称,对联系人的非正式称呼。(DOMString类型)
    phoneNumbers:联系人所有联系电话的数组。(ContactField[]类型)
    emails:联系人所有email地址的数组。(ContactField[]类型)
    addrsses:联系人所有联系地址的数组。(ContactAddresses[]类型)
    ims:联系人所有IM地址的数组。(ContactField[]类型)
    organizations:联系人所属所有组织的数组。(ContactOrganization[]类型)
    birthday:联系人的生日。(日期类型)
    note:联系人的注释信息。(DOMString类型)
    photos:联系人所有照片的数组.(ContactField[]类型)
    categories:联系人所属的所有用户自定义类别的数组。(ContactField[]类型)
    urls:与联系人相关网页的数组。(ContactField[]类型)方法:   

    clone:返回一个新的Contact对象,它是调用对象的深度拷贝,其id属性被设为null。
    remove:从通讯录数据库中删除联系人。当删除不成功的时候,触发以ContactError对象为参数的错误处理回调函数。
    save:将一个新联系人存储到通讯录数据库,如果通讯录数据库中已经包含与其ID相同的记录,则更新该已有记录。

详述:
Contact对象代表一个用户联系人。Contacts可以在设备通讯录数据库中被创建,存储或者删除,同样也可以使用 contacts.find方法从数据库中进行检索。
备注:并不是所有的设备平台都支持以上列出的所有联系人字段。请通过查看每个平台的特异情况描述部分,了解每个平台分别支持哪些字段。

Save 简单的范例:
function onSuccess(contacts) {
    alert("Save Success");
    }

function onError(contactError) {
    alert("Error = " + contactError.code);
}

// 建立一个新的联系人对象
var contact = navigator.service.contacts.create();
contact.displayName = "Plumber";
contact.nickname = "Plumber";         //同时指定以支持所有设备

// 填充一些字段
var name = new ContactName();
name.givenName = "Jane";
name.familyName = "Doe";
contact.name = name;

// 存储到设备上
contact.save(onSuccess,onError);

Clone 简单的范例:   
复制   

// 克隆联系人对象
var clone = contact.clone();
clone.name.givenName = "John";
console.log("Original contact name = " + contact.name.givenName);
console.log("Cloned contact name = " + clone.name.givenName);

Remove 简单的范例:   
复制   

function onSuccess() {
    alert("Removal Success");
}
function onError(contactError) {
    alert("Error = " + contactError.code);
}
// 从设备上删除该联系人
contact.remove(onSuccess,onError);

完整的范例:   
复制   

<!DOCTYPE html>
<html>
<head>
<title>Contact Example</title>

<script type="text/javascript" charset="utf-8" src="phonegap.js"></script>
<script type="text/javascript" charset="utf-8">

    // 等待加载PhoneGap
    document.addEventListener("deviceready", onDeviceReady, false);
   
    // PhoneGap加载完毕
    function onDeviceReady() {
   
      // 创建联系人
      var contact = navigator.service.contacts.create();
      contact.displayName = "Plumber";
      contact.nickname = "Plumber";      //同时指定以支持所有设备
      var name = new ContactName();
      name.givenName = "Jane";
      name.familyName = "Doe";
      contact.name = name;
   
      // 存储联系人
      contact.save(onSaveSuccess,onSaveError);
   
      // 克隆联系人
      var clone = contact.clone();
      clone.name.givenName = "John";
      console.log("Original contact name = " + contact.name.givenName);
      console.log("Cloned contact name = " + clone.name.givenName);
   
      // 删除联系人
      contact.remove(onRemoveSuccess,onRemoveError);
    }
   
      // onSaveSuccess: 返回当前保存成功的联系人数据的快照
    function onSaveSuccess(contacts) {
      alert("Save Success");
    }
   
    // onSaveError: 获取联系人数据失败
    function onSaveError(contactError) {
      alert("Error = " + contactError.code);
    }
   
    // onRemoveSuccess: 返回当前删除成功的联系人数据的快照
    function onRemoveSuccess(contacts) {
      alert("Removal Success");
    }
   
    // onRemoveError: 获取联系人数据失败
    function onRemoveError(contactError) {
      alert("Error = " + contactError.code);
    }

</script>
</head>
<body>
<h1>Example</h1>
<p>Find Contact</p>
</body>
</html>

lly835 发表于 2014-5-24 20:58:06

如何查询指定联系人并删除呢

我这代码不知道哪里错了            function findContact(){
                                // find all contacts with 'Bob' in any name field
                                var options      = new ContactFindOptions();
                                options.filter   = "张三";
                                options.multiple = true;
                                var fields       = ["displayName", "nickname","name"];
                                navigator.contacts.find(fields, onFindSuccess, onError, options);                 
            }
            
                        function onFindSuccess(contact) {
                                for(var i = 0; i < contact.length; i++){
                                        alert(contact.displayName);
                                }
                                //删除联系人
                      contact.remove(onRemoveSuccess,onRemoveError);
                        }

alert(contact.displayName);这一句是可以执行的,会弹出张三,但是下一句,删除联系人,不成功。

brainw 发表于 2015-4-30 20:38:50

好帖就是要顶 学习学习 html5趋势不可挡啊,虽然还在学习阶段

klaire 发表于 2015-5-1 00:54:31

好东西啊,谢谢分享 感谢phonegap中文网

caishaolin 发表于 2015-5-1 12:58:34

非常好 感谢 开始学习html5 app开发了

caishaolin 发表于 2015-5-1 11:31:26

html5 是趋势

brainw 发表于 2015-5-1 14:42:09

未来属于html5 phonegap 微信 wap全部搞定

chobits 发表于 2016-1-27 09:30:27

有没有例子源码啊 我是新手看官方文档也看不懂啊 可不可以给分源码让俺学习一下啊
页: [1]
查看完整版本: phonegap 创建删除联系人