find
要在 Contacts 数据库上进行搜索,可使用 contacts.find() 方法。
navigator.contacts.find(contactFields, onSuccess, onError, 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 onError(contactError) {
alert('Ooops!');
}
// 查找电子邮件地址中带有 gmail 的所有联系人
var myOptions = new ContactFindOptions();
myOptions.filter="gmail";
var myFields = ["emails"];
navigator.contacts.find(myFields, onSuccess, onError, myOptions);