Contacts
Contacts模块管理系统通讯录,用于可对系统通讯录进行增、删、改、查等操作。通过plus.contacts获取系统通讯录管理对象。
常量:
- ADDRESSBOOK_PHONE手机通讯录
- ADDRESSBOOK_SIMSIM卡通讯录
方法:
- getAddressBook获取通讯录对象
对象:
- AddressBook通讯录对象
- Contact联系人对象
- ContactFieldJSON对象,联系人域数据对象
- ContactNameJSON对象,联系人名称对象
- ContactAddressJSON对象,联系人地址对象
- ContactOrganizationJSON对象,联系人所属组织信息
- ContactFindOptionJSON对象,查找联系人参数
- ContactFindFilterJSON对象,联系人查找过滤器
回调方法:
- AddressBookSuccessCallback获取通讯录操作成功回调函数
- FindSuccessCallback查找联系人操作成功回调函数
- ContactsSuccessCallback联系人操作成功回调函数
- ContactsErrorCallback联系人操作失败回调
getAddressBook
获取通讯录对象
void plus.contacts.getAddressBook( type, succesCB, errorCB );
说明:
根据指定通讯录类型获取通讯录对象,获取通讯录对象后可对其进行增、删、改操作。
参数:
- type (Number) 可选 可取通讯录类型常量,可获取手机通讯录或SIM卡通讯录。
- successCB (AddressBookSuccessCallback) 可选 获取通讯录对象成功回调
- errorCB (ContactsErrorCallback) 可选 获取通讯录对象失败回调
返回值:
无
示例:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/> <title>Contacts Example</title> <script type="text/javascript"> // 监听plusready事件 document.addEventListener( "plusready", function(){ // 扩展API加载完毕,现在可以正常调用扩展API plus.contacts.getAddressBook( plus.contacts.ADDRESSBOOK_PHONE, function( addressbook ) { // 可通过addressbook进行通讯录操作 alert( "Get address book success!" ); }, function ( e ) { alert( "Get address book failed: " + e.message ); } ); }, false ); </script> </head> <body> </body> </html>
ADDRESSBOOK_PHONE
手机通讯录
plus.contacts.ADDRESSBOOK_PHONE;
说明:
通讯录类型常量,数值类型,固定值为0,用于获取系统的联系人信息。
ADDRESSBOOK_SIM
SIM卡通讯录
plus.contacts.ADDRESSBOOK_SIM;
说明:
通讯录类型常量,数值类型,固定值为1,用于获取SIM卡上的联系人信息。
平台支持:
Android : 不支持 暂未实现SIM卡联系人的访问
iOS : 不支持 不支持SIM卡联系人的访问
WP : 不支持 不支持SIM卡联系人的访问
AddressBook
通讯录对象
interface AddressBook { function Contact create(); function void find( contactFields, successCB, errorCB, findOptions ); }
说明:
通讯录管理对象,可对系统通讯录进行联系人的增、删、改、查操作。
方法:
create
创建联系人
Contact addressbook.create();
说明:
创建一个系统联系人,并返回联系人对象,可对联系人对象进行操作设置联系人信息,如名称、地址、电话等。
返回值:
联系人对象
示例:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/> <title>Contacts Example</title> <script type="text/javascript"> // 监听plusready事件 document.addEventListener( "plusready", function(){ // 扩展API加载完毕,现在可以正常调用扩展API plus.contacts.getAddressBook( plus.contacts.ADDRESSBOOK_PHONE, function( addressbook ) { // 向通讯录中添加联系人 var contact = addressbook.create(); contact.name = {givenName:"王安"}; contact.phoneNumbers = [{type:"手机",value:"88888888",preferred:true}]; contact.save(); }, function ( e ) { alert( "Get address book failed: " + e.message ); } ); }, false ); </script> </head> <body> </body> </html>
find
在通讯录中查找联系人
void addressbook.find( contactFields, successCB, errorCB, findOptions );
说明:
在通讯录中安装指定的规则查找联系人,contactFields可设定查找返回的联系人中包含的字段值,查找联系人成功时通过successCB回调返回,查找联系人失败则通过errorCB回调返回。
参数:
- contactFields (String[]) 可选 可取Contact对象的属性名称,若指定为null或""或空数组则包含所有联系人信息。可通过“.”来分割子项,如“name.familyName”指定获取联系人名称中的姓;对于ContactField类型的值则可指定类型值,如“phoneNumbers.mobile”指定获取联系人的手机号码。
- successCB (FindSuccessCallback) 可选 查找联系人操作成功回调
- errorCB (ContactsErrorCallback) 可选 查找联系人操作失败回调
- findOptions (ContactFindOption) 可选 查找联系人的参数
返回值:
无
示例:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/> <title>Contacts Example</title> <script type="text/javascript"> // 监听plusready事件 document.addEventListener( "plusready", function(){ }, false ); function find(){ plus.contacts.getAddressBook(plus.contacts.ADDRESSBOOK_PHONE, function (addressbook) { addressbook.find(["displayName","phoneNumbers"],function(contacts){ alert(contacts.length); }, function () { alert("error"); },{multiple:true}); },function(e){ alert("Get address book failed: " + e.message); }); } </script> </head> <body> <button onclick="find()">Find</button> </body> </html>
Contact
联系人对象
interface Contact { attribute String displayName; attribute ContactName name; attribute String nickname; attribute ContackField[] phoneNumbers; attribute ContactField[] emails; attribute ContactAddress[] addresses; attribute ContactField[] ims; attribute ContactOriganization[] organizations; attribute Date birthday; attribute String note; attribute ContactField[] photos; attribute ContactField[] categories; attribute ContactField[] urls; function Contact clone(); function void remove( successCB, errorCB ); function void save( successCB, errorCB ); }
说明:
联系人对象,包括联系人的各种信息,如名称、电话号码、地址等。也包括新增、删除联系人的操作方法。
方法:
属性:
- displayName:String,联系人显示的名字通常有其姓和名组合而成。
- name:ContactName,联系人的名称
- nickname:String,联系人的昵称
- phoneNumbers:ContactField,数组,联系人的电话
- emails:ContactField,数组,联系人的邮箱
- addresses:ContactAddress,数组,联系人的地址
- ims:ContactField,数组,联系人的即时通讯地址
- organizations:ContactOrganization,数组,联系人所属组织信息
- birthday:Date,联系人的生日
- note:String,联系人的备注
- photos:ContactField,其值为头像图片url地址或图片数据: url地址:仅支持本地图片地址,可以是绝对路径或相对路径,如“_doc/a.png”; 图片数据:必须符合Data URI scheme(RFC2397)格式的数据,如“image/png;base64,XXXX”,其中XXXX为base64编码的图片数据。在获取联系人时默认返回此类型的数据。
- categories:ContactOrganization,数组,联系人的组名
- urls:ContactOrganization,数组,联系人的网址
clone
克隆联系人
Contact contact.clone();
说明:
克隆联系人,创建出一个新的联系人对象。
返回值:
克隆出的Contact对象
示例:
var newcnt = contact.clone();
remove
删除联系人
void contact.remove( successCB, errorCB );
说明:
删除联系人
参数:
- successCB (ContactsSuccessCallback) 可选 删除联系人操作成功回调
- errorCB (ContactsErrorCallback) 可选 删除联系人操作失败回调
返回值:
无
示例:
plus.contacts.getAddressBook( plus.contacts.ADDRESSBOOK_PHONE, function( addressbook ) { // 可通过addressbook进行通讯录操作 var contact = addressbook.find( null, function ( contacts ) { if ( contacts.length> 0 ) { var dc = contacts[0]; dc.remove( function () { alert( "Remove "+dc.displayName+" success!" ); } }, function ( e ) { alert( "Find contact error: " e.message ); }, {filter:[{logic:"or",field:"phoneNumbers",value:"88888888"}],multi:false} ); } );
save
保存联系人
void contact.save( successCB, errorCB );
说明:
将联系人数据保存到通讯录中,操作成功将通过successCB回调函数返回保存结果,操作失败将通过通过errorCB回调函数返回错误信息。
参数:
- successCB (ContactsSuccessCallback) 可选 添加联系人操作成功回调
- errorCB (ContactsErrorCallback) 可选 添加联系人操作失败回调
返回值:
无
示例:
plus.contacts.getAddressBook( plus.contacts.ADDRESSBOOK_PHONE, function( addressbook ) { // 可通过addressbook进行通讯录操作 var contact = addressbook.create(); contact.name = {givenName:"王安"}; contact.phoneNumbers = [{type:"手机",value:"88888888",preferred:true}]; contact.save( function () { alert( "保存联系人成功" ); }, function ( e ) { alert( "保存联系人失败:" + e.message ); } ); }, function ( e ) { alert( "Get address book failed: " + e.message ); } );
ContactField
JSON对象,联系人域数据对象
interface ContactField { attribute String type; attribute String value; attribute Boolean preferred; }
说明:
联系人域数据对象,保存联系人特定域信息。
属性:
ContactName
JSON对象,联系人名称对象
interface ContactName { attribute String formatted; attribute String familyName; attribute String givenName; attribute String middleName; attribute String honorificPrefix; attribute String honorificSuffix; }
说明:
联系人名称对象,保存联系人名称信息,如姓、名等。
属性:
- formatted:String,联系人的完整名称,由其它字段组合生成
- familyName:String,联系人的姓
- givenName:String,联系人的名
- middleName:String,联系人的中间名
- honorificPrefix:String,联系人的前缀(如Mr.或Dr.)
- honorificSuffix:String,联系人的后缀
ContactAddress
JSON对象,联系人地址对象
interface ContactAddress { attribute String type; attribute String formatted; attribute String streetAddress; attribute String locality; attribute String region; attribute String country; attribute String postalCode; attribute Boolean preferred; }
说明:
联系人地址对象,保存联系人地址信息,如国家、省份、城市等。
属性:
- type:String,联系人地址类型,如“home”表示家庭地址、“company”表示单位地址
- formatted:String,完整地址,由其它字段组合而成
- streetAddress:String,完整的街道地址
- locality:String,城市或地区
- region:String,省或地区
- country:String,国家
- postalCode:String,邮政编码
- preferred:Boolean,是否为首选项
ContactOrganization
JSON对象,联系人所属组织信息
interface ContactOrganization { attribute String type; attribute String name; attribute String department; attribute String title; attribute Boolean preferred; }
属性:
- type:String,联系人所属组织类型,如"company"
- name:String,联系人所属组织名称
- department:String,联系人所属组织部门
- title:String,联系人在组织中的职位
- preferred:Boolean,是否为首选项
ContactFindOption
JSON对象,查找联系人参数
interface ContactFindOption { attribute ContactFindFilte[] filter; attribute Boolean multiple; }
属性:
ContactFindFilter
JSON对象,联系人查找过滤器
interface ContactFindFilter { attribute String logic; attribute String field; attribute String value; }
属性:
- logic:String,可取“and”、“or”、“not”,默认值为“and”。
- field:String,区配的联系人域,可取联系人的属性名称
- value:String,区配的联系人值,可使用区配符号“?”和“*”
AddressBookSuccessCallback
获取通讯录操作成功回调函数
void onSuccess( addressbook ){ // Code AddressBook here }
说明:
获取通讯录操作成功回调函数
参数:
- addressbook (AddressBook) 可选 获取到的通讯录对象
FindSuccessCallback
查找联系人操作成功回调函数
void onSuccess( contacts ){ // Find contact success. }
说明:
查找联系人操作成功回调函数
参数:
- contacts (Contact) 可选 数组,查找到的联系人对象
ContactsSuccessCallback
联系人操作成功回调函数
void onSuccess(){ // Operate success }
说明:
联系人操作成功回调函数
ContactsErrorCallback
联系人操作失败回调
void onError( error ){ // Handle the error }
说明:
联系人操作失败回调
参数:
- error (DOMException) 可选 联系人操作的错误信息
关键词: html5puls,Contacts 编辑时间: 2015-03-23 22:48:02
0
高兴0
支持0
搞笑0
不解0
谎言0
枪稿0
震惊0
无奈0
无聊0
反对0
愤怒
- 暂无评论
网友评论