查找联系人

要在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);

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

时间: 2024-11-08 00:34:53

查找联系人的相关文章

使用phonegap查找联系人

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Database Example</title> <script type="text/javascript" charset="UTF-8" src="cordova.js"></script> <scri

【设计模式】文章摘要 查找联系人控件

设计模式,真的非常像一个长,我们甚至从类图中存在的类图的直接进化. 他们中的一些,像类图.有些语言近似,但它有一个不同的名称,不同"马甲".让我们快来认一认. 第一组:模板方法PK 建造者模式PK 工厂方法 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMDE3NjAxNA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" w

android面试之contentProvider获取联系人

1.使用contentprovider查找联系人 MainActivity.java public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); getContacts(); } privat

Android开发系列(十一):对手机通讯录的读取、添加、删除、查找

一.通讯录介绍 通讯录是Android手机自带的一个应用,它是一个ContentProvider应用,其它应用可以对通讯录进行访问,进行对联系人的CRUD操作. 二.通讯录数据库结构的介绍 首先,我们可以在File Explorer视图下找到contacts2.db文件,这是通讯录的文件 然后,我们用SQLite打开,分析下它的数据库结构: raw_contacts表: data表: mimetypes表: 这三张表的结构介绍完了,接下来我们说下它们之间的联系: raw_contacts表存放联

Android学习笔记二十一.使用ContentProvider实现数据共享(四).操作系统(联系人)的ContentProvider

Android系统本身提供了大量的ContentProvider,例如联系人信息.系统的多媒体信息等,我们开发的应用程序主要是通过ContentResolver来调用系统的ContentProvider提供的query().insert().update()和delete()方法来获取Android内部的数据. 一.如何使用ContentResolver操作系统ContentProvider暴露的内部数据? 1.调用Activity的getContentResolver()获取ContentRe

【WP8.1开发】选择与搜索联系人

在需要的情况下,可以通过相关的API来访问手机上的联系人信息:当然,在不必要的情况下,不要随便去获取别人的数据. 要从联系人列表中选择并获取一位或者N位联系人的详细信息,比较简单的做法是利用ContactPicker.该类会弹出系统集成的联系人选择界面,用户直接通过界面操作选择需要的联系人.当用户做出选择后,会将选择结果返回给调用方. 一位联系人的具体信息由Contact类封装,比如手机号码.姓名.住址等,有关该类的具体成员我就不一一说了,那样多没意思,用VS的人都应该经常打开“对象浏览器”窗口

iOS 通讯录-获取联系人属性

内容均来自关东升老师的ios开发指南 上一篇写了联系人框架的一些必须知道的知识 现在写一下读取联系人数据相关操作 要读取通讯录数据库 需要 创建通讯录对象 查询获取数据(所有或者部分) 获取通讯录某一条记录(某个人的所有数据) 获取这个人的各种属性数据 就是这样 CFErrorRef error = NULL; //创建一个通讯录操作对象 ABAddressBookRef addressBook = ABAddressBookCreateWithOptions(NULL, &error); 第一

安卓之手机通讯录联系人应用

安卓开发关于手机手机联系人:添加联系人,删除联系人,查找联系人等,,在网上找了一些资料,如下: public class Lianxiren { Context context; public Lianxiren(Context context){ this.context = context; } /** * 添加指定联系人 * @param fulName * @param tel * @return */ protected Boolean addLinkMan(String fulNam

用c语言实现 一个通讯录(实现 增加、删除、查找、修改、显示、清空功能)

源程序头文件contact.h #ifndef _CONTACT_H__ #define _CONTACT_H__ #define NAME_MAX 20 #define SEX_MAX 5 #define TELE_MAX 15 #define ADDR_MAX 50 #define PEO_MAX 1000 #include <stdio.h> #include <string.h> #include <stdlib.h> typedef struct people