手机联系人信息获取(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>
手机联系人信息获取(contacts) ---- HTML5+的更多相关文章
- Expo大作战(三十九)--expo sdk api之 DocumentPicker,Contacts(获取手机联系人信息),Branch
简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...
- android利用ContentResolver访问者获取手机联系人信息
转载自:http://www.jb51.net/article/106379.htm 首先需要在AndroidManifest.xml文件中添加权限: <uses-permission andr ...
- Android 获取手机联系人信息
//获取联系人 Uri rawContacts = Uri.parse("content://com.android.contacts/raw_contacts"); Conten ...
- Android项目——读取手机联系人信息
加入读取联系人信息的权限 <uses-permission android:name="android.permission.READ_CONTACTS"/> cont ...
- 获取android手机联系人信息
package com.yarin.android.Examples_04_04; import android.app.Activity; import android.database.Curso ...
- Android初级教程获取手机系统联系人信息
在手机内部,对联系人信息存在对应的数据库.我们创建的而联系人信息都存在这张表中.如下是对数据库的截图,我已经对表和应该注意的地方做了红笔标注: 好了,现在可以根据数据库里面的数据来写代码了. 代码如下 ...
- Android 手机卫士--获取联系人信息并显示与回显
前面的文章已经实现相关的布局,本文接着进行相关的功能实现 本文地址:http://www.cnblogs.com/wuyudong/p/5951794.html,转载请注明出处. 读取系统联系人 当点 ...
- Android 获取手机信息,设置权限,申请权限,查询联系人,获取手机定位信息
Android 获取手机信息,设置权限,申请权限,查询联系人,获取手机定位信息 本文目录: 获取手机信息 设置权限 申请权限 查询联系人 获取手机定位信息 调用高德地图,设置显示2个坐标点的位置,以及 ...
- Android软件开发之获取通讯录联系人信息
Android手机的通讯录联系人全部都存在系统的数据库中,如果须要获得通讯里联系人的信息就须要访问系统的数据库,才能将信息拿出来. 这一篇文章我主要带领同学们熟悉Android的通讯录机制. 图中选中 ...
随机推荐
- A/libc:fatal signal 11(SIGSEGV).code 1, fault addr 0x0 in tid 26488 (VideoEncoder)
在调试Camera模块:发现相同的代码在厂家提供的环境里边编译.就是ok的,在我们的源码树中编译,将HAL库推进去后.就会signal 11退出. 一.现象 F/libc ( ): Fatal sig ...
- 每个Web开发者都应该知道的关于URL编码的知识
本文首先阐述了人们关于统一资源定位符(URL)编码的普遍的误读,其后通过阐明HTTP场景下的URL encoding 来引出我们经常遇到的问题及其解决方案.本文并不特定于某类编程语言,我们在Java环 ...
- hbase权威指南阅读随手笔记二之过滤器
转自:http://blog.csdn.net/saint1126/article/details/8257941 base过滤器的比较操作符: LESS <LESS_OR_EQUAL & ...
- 【转】Microsoft .Net Remoting之Remoting事件处理全接触
Remoting事件处理全接触 前言:在Remoting中处理事件其实并不复杂,但其中有些技巧需要你去挖掘出来.正是这些技巧,仿佛森严的壁垒,让许多人望而生畏,或者是不知所谓,最后放弃了事件在Remo ...
- css -- 背景图片自适应屏幕大小
由于<body>标签的图片不能够拉伸, 解决办法: 1.图片不够大,又background属性不能拉伸图片: 2.只能用个div,把其z-index值设为负,并使这个div大小为整个bod ...
- preventDefault
e.preventDefault()阻止事件默认行为 例如: $("a").click(function (e) { alert("默认行为被禁止喽"); ...
- Struts2 ajax json使用介绍
一.jar包首先引入Struts和json所需的jar包. watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaXRteWhvbWUxOTkw/font/5a6 ...
- MFC中编辑框Edit Control添加“变量”后
- 面试题:谈谈如何优化MYSQL数据库查询
1.优化数据类型 MySQL中数据类型有多种,如果你是一名DBA,正在按照优化的原则对数据类型进行严格的检查,但开发人员可能会选择他们认为最简单的方案,以加快编码速度,或者选择最明显的选择,因此,你可 ...
- ubuntu 安装source insight
1. 首先安装wine sudo apt-get install wine 2.下载source insight 安装包(.exe) 3,将安装包放到已知的目录下. 4.在终端进行安装,wine Si ...