模块: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>