首页 > 代码库 > 查找联系人

查找联系人

要在Contacts数据库上进行搜索,可使用contacts.find()方法,如下所示:
navigator.contacts.find(contactFields, onSuccess, one rror, options);

这个例子显示了如下内容:

第1个参数用来给方法传递一组联系人字段。这些字段也将被返回。例如,如果想要的是人名、电子邮件地址和电话号码,就应该在这里指明。如果只是想要联系人的id,可以给这个参数传递一个空值。如果想要返回所有字段,可以传递进["*"]。

第2个参数是success回调函数,它将接收一个正确的Contact对象,来保存要查找的联系人信息。

第3个参数是error回调函数,它将包含抛出的任何错误。

第4个参数是一组可以传递给find方法的选项。其中一个最常使用的是filter选项,它是一个可以对Contacts数据库进行过滤查询的字符串。

以下是查找通讯录的一个示例:
function onSuccess(contacts) {
document.write(contacts.length + ‘ contacts found.‘);
for (var i=0; i<contacts.length; i++) {
       for (var j=0; j<contacts[i].emails.length; j++) {
             document.write("Email = " + contacts[i].emails[j].email);
         }
}
}

function one rror(contactError) {
     alert(‘Ooops!‘);
}

// 查找电子邮件地址中带有gmail的所有联系人
var myOptions = new ContactFindOptions();
myOptions.filter="gmail";
var myFields = ["emails"];
navigator.contacts.find(myFields, onSuccess, one rror, myOptions);

 

例2:

$("#page-contacts").live("pageinit",function(){
    var $page = $(this);
    var fields=["displayName","phoneNumbers","photos"];
    navigator.contacts.find(fields, function(contacts){
        console.log("检索通讯录成功..." + contacts.length);
        var results=[];
        $.each(contacts,function(i,c){
            console.log("通讯录:"+c.displayName);
            results.push("<li><a href=http://www.mamicode.com/‘‘>

"+c.displayName+"</h3><p>"+c.phoneNumbers[0].value+"</p></a></li>");
        });
        $(".content-container",$page).append(results.join("")).listview("refresh");
    }, function(){
        alert("检索通讯录失败!");
    },new ContactFindOptions());
    
});

查找联系人