• 手机联系人信息获取(contacts) ---- HTML5+


    模块contacts

    Contacts模块管理系统通讯录,用于可对系统通讯录进行增、删、改、查等操作。通过plus.contacts获取系统通讯录管理对象。

    对象:联系人对象(属性:电话,地址等)针对它可以进行修改删除;

    应用场景:查找联系人,导入联系人,通讯录备份,通讯录同步;

    通讯录对象:AddressBook

    interface AddressBook {
        function Contact create();
        function void find( contactFields, successCB, errorCB, findOptions );
    }

    AddressBook:里有个 create(); 创建方法;还有个 find() 方法;

    find();方法里的contactFields 查找返回联系人中需要包含的信息(查找的这个联系人包含的那些字段,例如只想要联系人的姓名和电话)这个是一个字符串数组;

    finOptions:过滤条件:{logic:'or',field:'displayNam',value:'*王*'} 查找出来所有显示名和昵称有“王”的信息;

    logic就是逻辑运算符,是“或”还是“与”的关系; or / and / not 它是json的对象数组;

    获取通讯录对象:getAddressBook

    plus.contacts.getAddressBook(type,succesCB,errorCB);  这个是查询通讯录的;

    通讯录属性:type

    id: 联系人的id
    displayName: 联系人显示的名字
    name: 联系人的名称
    nickname: 联系人的昵称
    phoneNumbers: 数组,联系人的电话
    emails: 数组,联系人的邮箱
    addresses: 数组,联系人的地址
    ims: 数组,联系人的即时通讯地址
    organizations: 数组,联系人所属组织信息
    birthday: 联系人的生日
    note: 联系人的备注
    photos: 数组,联系人的头像
    categories: 数组,联系人的组名
    urls: 数组,联系人的网址

    示例:添加联系人

    mui.plusReady(function(){
        var addressBookObj = null;
        // 保证我们的addressBookObj 对象是存在的
        plus.contacts.getAddressBook(plus.contacts.ADDRESSBOOK_PHONE,function(addressBook){
            addressBookObj = addressBook;
            // 添加联系人
            $("#btnAddContac").bind('tap',function(){
                plus.contacts.getAddressBook(plus.contacts.ADDRESSBOOK_PHONE,function(addressBook){
                var contact = addressBookObj.create();
                contact.name = {givenName:'张三'};
                contact.phoneNumbers = {type:"手机",value:"1388888888",preferred:true};
                contact.save();
                mui.alert('添加成功');
                },function(){});
            });
        },function(){});
        
    });

    具体示例:添加联系人,查找联系人,删除联系人,修改联系人

    <header class="mui-bar mui-bar-nav">
        <a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a>
        <h1 class="mui-title">通讯录管理</h1>
    </header>
    <div class="mui-content mui-content-padded">
        <button type="button" id="btnAddContac" class="mui-btn mui-btn-blue mui-btn-block">添加联系人</button>
        <button type="button" id="btnDelContact" class="mui-btn mui-btn-blue mui-btn-block">删除联系人</button>
        <button type="button" id="btnSearchContact" class="mui-btn mui-btn-blue mui-btn-block">查找联系人</button>
        <button type="button" id="btnModifyContact" class="mui-btn mui-btn-blue mui-btn-block">修改联系人</button>
    </div>
    <script src='http://libs.baidu.com/jquery/1.8.3/jquery.min.js'></script>
    <script src="js/mui.min.js"></script>
    <script type="text/javascript">
    mui.plusReady(function(){
        var addressBookObj = null;
        // 保证我们的addressBookObj 对象是存在的
        plus.contacts.getAddressBook(plus.contacts.ADDRESSBOOK_PHONE,function(addressBook){
            addressBookObj = addressBook;
            // 添加联系人
            $("#btnAddContac").bind('tap',function(){
                plus.contacts.getAddressBook(plus.contacts.ADDRESSBOOK_PHONE,function(addressBook){
                var contact = addressBookObj.create();
                contact.name = {givenName:'张三'};
                contact.phoneNumbers = {type:"手机",value:"1388888888",preferred:true};
                contact.save();
                mui.alert('添加成功');
                },function(){});
            });
            // 查找联系人
            $("#btnModifyContact").bind('tap',function(){
                addressBookObj.find("",function(contacs){
                    //alert(contacs);
                    for(var i=0;i<contacs.length;++i){
                        alert(contacs[i].name.givenName);
                    };
                },function(e){
                    console.log(e.message);
                },{filter:[{logic:'and',field:'givenName',value:'*张*'}]});
            });
            // 修改联系人
            $("#btnModifyContact").bind('tap',function(){
                addressBookObj.find("",function(contacs){
                    //alert(contacs);
                    for(var i=0;i<contacs.length;++i){
                        contacs[i].name.givenName ="李四";
                        contacs[i].save();
                    };
                    mui.alert("修改成功");
                },function(e){
                    console.log(e.message);
                },{filter:[{logic:'and',field:'givenName',value:'*张*'}]});
            });
            // 删除联系人
            $("#btnDelContact").bind('tap',function(){
                addressBookObj.find("",function(contacs){
                    //alert(contacs);
                    for(var i=0;i<contacs.length;++i){
                        contacs[i].remove();
                    };
                    mui.alert("删除成功");
                },function(e){
                    console.log(e.message);
                },{filter:[{logic:'and',field:'givenName',value:'*李四*'}]});
            });
        },function(){});    
    });
    </script>
  • 相关阅读:
    Asp.Net MVC 2 RC 2 发布
    SqlServer2008修改表时出现“save changes is not permitted…”解决方法
    使用LoadRunner测试WMS
    使用Expression Encoder 3发布媒体文件到WebDAV
    Net Remoting Error:试图创建未绑定类型的代理
    Net4.0VS2010新特性
    WCF的一些基本知识点
    WCF中的ServiceHost初始化两种方式
    WMS中添加默认发布点
    HTTP 错误 500.19 Internal Server Error 错误解决方法
  • 原文地址:https://www.cnblogs.com/e0yu/p/7850298.html
Copyright © 2020-2023  润新知