系统联系人插件
打开,添加,删除,查找,修改联系人等功能.
本文的目的是为了开发能够更好更快地将API集成到自己的项目中,在使用前最好先使用好我们提供的demo并对照文档运行看看效果。 这里可以【参考教程】下载AppCan IDE为开发者工具开发,然后集成到自己的项目上。
插件测试用例与源码下载:点击插件中心至插件详情页 (插件测试用例与插件源码已经提供)
本插件的所有API默认支持Android4.0+和iOS7.0+操作系统. 有特殊版本要求的API会在文档中额外说明.
本插件所有API默认在插件版本4.0.0+可用.
在后续版本中新添加的接口会在文档中额外说明.
open //打开联系人
uexContact.open(callbackFunction)
说明:
打开联系人应用,每次只能选择一个联系人.用户选择联系人后会执行回调方法callbackFunction
, 将选中的联系人的姓名,电话,邮件返回.
参数:
参数名称 | 参数类型 | 是否必选 | 说明 |
---|---|---|---|
callbackFunction | Function | 是 | 回调方法 |
回调参数:
var callbackFunction=function(error,data){}
参数名称 | 参数类型 | 说明 |
---|---|---|
error | Number | 0表示成功,-1为取消,其他表示失败 |
data | Object | 成功时返回的数据,形式见下: |
var data = {
name://String,联系人姓名
num://Array,联系人电话号码数组
email://String,邮箱
company://String,公司,仅iOS
address://json对象,联系人地址,仅iOS
note://String,备忘录,仅iOS
title://String,联系人简介,仅iOS
contactId://String,联系人id,仅iOS
url://String,联系人链接url,仅iOS
};
示例:
uexContact.open(function(error,data){
if(!error){
alert('callback:' + JSON.stringify(data));
}
});
multiOpen //打开联系人选择界面
uexContact.multiOpen(callbackFunction)
说明:
打开联系人选择界面,该界面中的数据是当前设备上所有联系人的信息,支持多选.用户选择完成后执行回调方法callbackFunction
.
参数:
参数名称 | 参数类型 | 是否必选 | 说明 |
---|---|---|---|
callbackFunction | Function | 是 | 回调方法 |
回调参数:
var callbackFunction=function(error,data){}
参数名称 | 参数类型 | 说明 |
---|---|---|
error | Number | 0表示成功,-1为取消,其他表示失败 |
data | Array | JSON数组类型,格式,形式见下: |
var data = [{
name://String,联系人姓名
num://Array,联系人电话号码数组
email://String,邮箱
company://String,公司,仅iOS
address://json对象,联系人地址,仅iOS
note://String,备忘录,仅iOS
title://String,联系人简介,仅iOS
contactId://String,联系人id,仅iOS
url://String,联系人链接url,仅iOS
}];
示例:
uexContact.multiOpen(function(error,data) {
if(!error){
alert('data:' + JSON.stringify(data));
}
});
addItem //添加联系人
uexContact.addItem(name,num,email,option, callbackFunction)
说明:
添加联系人, 方法执行结束后回调callbackFunction
参数:
参数名称 | 参数类型 | 是否必选 | 说明 |
---|---|---|---|
name | String | 是 | 名称 |
num | String | 是 | 电话号码 |
String | 是 | 邮件 | |
option | Object | 否 | 添加联系人配置,json格式字符串,如下: |
callbackFunction | Function | 否 | 回调函数 |
var option = {
isNeedAlertDialog:
}
各字段含义如下:
字段名称 | 类型 | 是否必选 | 说明 |
---|---|---|---|
isNeedAlertDialog | Boolean | 否 | 添加过程中是否需要弹出"确认添加"提示框,默认为true,弹出提示框 |
回调参数:
var callbackFunction=function(error){}
参数名称 | 参数类型 | 说明 |
---|---|---|
error | Number | 0表示成功,-1为取消,其他表示失败 |
示例:
var option = {
isNeedAlertDialog:false
}
uexContact.addItem("张三","13436827900","widgetone@3g2win.com",option,function(error){
if(!error){
//添加成功
}
});
deleteWithId //删除联系人
uexContact.deleteWithId(option, callbackFunction)
说明:
通过联系人id精确删除对应联系人,方法执行结束后回调callbackFunction
由于手机端可能存在同名称的联系人导致原有deleteItem接口无法完全满足删除问题.
参数:
参数名称 | 参数类型 | 是否必选 | 说明 |
---|---|---|---|
option | Object | 是 | 要删除的联系人参数,json格式字符串,如下: |
callbackFunction | Function | 否 | 回调函数 |
var option = {
contactId://通过查询获取到的联系人id
}
各字段含义如下:
字段名称 | 类型 | 是否必选 | 说明 |
---|---|---|---|
contactId | String | 是 | 所删除的联系人的id(可通过search获取联系人id) |
回调参数
var callbackFunction=function(error){}
参数名称 | 参数类型 | 说明 |
---|---|---|
error | Number | 表示操作是否成功,0表示成功,其他表示失败. |
示例:
var option = {
contactId:'405'
}
uexContact.deleteWithId(option,function(error){
});
deleteItem //删除联系人
uexContact.deleteItem(name, callbackFunction)
说明:
删除联系人, 方法执行结束后回调callbackFunction
参数:
参数名称 | 参数类型 | 是否必选 | 说明 |
---|---|---|---|
name | String | 是 | 名称 |
callbackFunction | 函数 | 否 | 回调函数 |
回调参数
var callbackFunction=function(error){}
参数名称 | 参数类型 | 说明 |
---|---|---|
error | Number | 表示操作是否成功,0表示成功,其他表示失败. |
示例:
uexContact.deleteItem("张三",function(error){});
search //查询联系人
uexContact.search(option, callbackFunction)
说明:
查询联系人, 方法执行结束后回调callbackFunction
由于Android联系人的诸多信息要多次查询,因此建议如果有获取所有联系的人的需求的时候建议仅仅查询Name字段,其余字段可考虑设置不查询,以优化查询速度.
参数:
参数名称 | 参数类型 | 是否必选 | 说明 |
---|---|---|---|
option | Object | 否 | 搜索配置,json格式字符串,如下: |
callbackFunction | 函数 | 否 | 回调函数 |
var option = {
resultNum:,//可选,单次返回数据数量,-1表示一次返回所有结果,默认50
searchName:,//和contactId字段二选一,通过名字查询联系人,传空默认查询所有.
contactId:,//和searchName字段二选一,可用于精确查找.(优先于Name)
isSearchNum:,//可选,true,false是否查询电话号码,默认为true(Android 推荐false)
isSearchEmail:,//可选,true,false是否查询Email,默认为true(Android 推荐false)
isSearchAddress:,//可选,true,false是否查询Address,默认为true(Android 推荐false)
isSearchCompany:,//可选,true,false是否查询Company,默认为true(Android 推荐false)
isSearchTitle:,//可选,true,false是否查询title,默认为true(Android 推荐false)
isSearchNote:,//可选,true,false是否查询Note,默认为true(Android 推荐false)
isSearchUrl:,//可选,true,false是否查询Url,默认为true(Android 推荐false)
}
各字段含义如下:
字段名称 | 类型 | 是否必选 | 说明 |
---|---|---|---|
resultNum | Number | 否 | 一次最多返回的结果条数,默认为50条,-1表示一次返回所有结果 |
searchName | String | 否 | 和contactId字段二选一,通过名字查询联系人,传空默认查询所有. |
contactId | String | 否 | 和searchName字段二选一,可用于精确查找.(优先于Name) |
isSearchNum | Boolean | 否 | true,false是否查询电话号码,默认为true(Android 推荐false) |
isSearchEmail | Boolean | 否 | true,false是否查询Email,默认为true(Android 推荐false) |
isSearchAddress | Boolean | 否 | true,false是否查询Address,默认为true(Android 推荐false) |
isSearchCompany | Boolean | 否 | true,false是否查询Company,默认为true(Android 推荐false) |
isSearchTitle | Boolean | 否 | true,false是否查询Title,默认为true(Android 推荐false) |
isSearchNote | Boolean | 否 | true,false是否查询Note,默认为true(Android 推荐false) |
isSearchUrl | Boolean | 否 | true,false是否查询Url,默认为true(Android 推荐false) |
回调参数
var callbackFunction=function(error,data){}
参数名称 | 参数类型 | 说明 |
---|---|---|
error | Number | 表示操作是否成功,0表示成功,其他表示失败. |
data | Array | 搜索结果数据,形式见下: |
var data = [
{
contactId:,//联系人id
...//其余Key值name, num, email
}
...
]
示例:
var option = {
resultNum:-1//-1表示一次返回所有结果
searchName:'',//全部查询
isSearchNum:false,
isSearchEmail:false,
isSearchAddress:false,
isSearchCompany:false,
isSearchTitle:false,
isSearchNote:false,
isSearchUrl:false
},
uexContact.search(option,function(error,data){
if(!error){
}
});
searchItem //查询联系人
uexContact.searchItem(nameKey,option,callbackFunction)
说明:
查询联系人, 方法执行结束后回调callbackFunction
参数:
参数名称 | 参数类型 | 是否必选 | 说明 |
---|---|---|---|
nameKey | String | 是 | 名称,传空字符串时,查询通讯录中所有联系人 |
option | Object | 否 | 搜索配置,json格式字符串,如下: |
callbackFunction | Function | 否 | 回调函数 |
var option = {
resultNum:-1,//-1表示一次返回所有结果
isSearchNum:,//可选,true,false是否查询电话号码,默认为true(Android 推荐false)
isSearchEmail:,//可选,true,false是否查询Email,默认为true(Android 推荐false)
isSearchAddress:,//可选,true,false是否查询Address,默认为true(Android 推荐false)
isSearchCompany:,//可选,true,false是否查询Company,默认为true(Android 推荐false)
isSearchTitle:,//可选,true,false是否查询title,默认为true(Android 推荐false)
isSearchNote:,//可选,true,false是否查询Note,默认为true(Android 推荐false)
isSearchUrl:,//可选,true,false是否查询Url,默认为true(Android 推荐false)
}
各字段含义如下:
字段名称 | 类型 | 是否必选 | 说明 |
---|---|---|---|
resultNum | Number | 否 | 一次最多返回的结果条数,默认为50条,-1表示一次返回所有结果 |
isSearchNum | Boolean | 否 | true,false是否查询电话号码,默认为true(Android 推荐false) |
isSearchEmail | Boolean | 否 | true,false是否查询Email,默认为true(Android 推荐false) |
isSearchAddress | Boolean | 否 | true,false是否查询Address,默认为true(Android 推荐false) |
isSearchCompany | Boolean | 否 | true,false是否查询Company,默认为true(Android 推荐false) |
isSearchTitle | Boolean | 否 | true,false是否查询Title,默认为true(Android 推荐false) |
isSearchNote | Boolean | 否 | true,false是否查询Note,默认为true(Android 推荐false) |
isSearchUrl | Boolean | 否 | true,false是否查询Url,默认为true(Android 推荐false) |
回调参数
var callbackFunction=function(error,data){}
参数名称 | 参数类型 | 说明 |
---|---|---|
error | Number | 表示操作是否成功,0表示成功,其他表示失败. |
data | Object | 搜索结果数据 |
示例:
var option = {
resultNum:-1,//-1表示一次返回所有结果
isSearchNum:false,
isSearchEmail:false,
isSearchAddress:false,
isSearchCompany:false,
isSearchTitle:false,
isSearchNote:false,
isSearchUrl:false
}
uexContact.searchItem("张三", option, function(error,data) {
alert(JSON.stringify(data));
});
modifyWithId //修改联系人
uexContact.modifyWithId(option, callbackFunction)
说明:
修改联系人, 方法执行结束后回调callbackFunction
参数:
参数名称 | 参数类型 | 是否必选 | 说明 |
---|---|---|---|
option | Object | 否 | 修改配置,json格式字符串,如下: |
callbackFunction | 函数 | 否 | 回调函数 |
var option = {
contactId://联系人id
name:,//联系人名称
num:,//联系人电话
email:,//联系人Email
}
各字段含义如下:
字段名称 | 类型 | 是否必选 | 说明 |
---|---|---|---|
contactId | String | 是 | 所修改的联系人的id(可通过search获取联系人id) |
name | String | 是 | 联系人修改后的名称 |
num | String | 是 | 联系人修改后的电话 |
String | 是 | 联系人修改后的Email |
回调参数
var callbackFunction=function(error){}
参数名称 | 参数类型 | 说明 |
---|---|---|
error | Number | 表示操作是否成功,0表示成功,其他表示失败. |
示例:
var option = {
contactId:'405',
name:'Appcan',
num:'15888888888',
email:'widgeton@zymobi.com'
}
uexContact.modifyWithId(option, function(error) {
alert(data);
});
modifyItem //修改联系人
uexContact.modifyItem(name,num,email, callbackFunction)
说明:
修改联系人, 方法执行结束后回调callbackFunction
参数:
参数名称 | 参数类型 | 是否必选 | 说明 |
---|---|---|---|
name | String | 是 | 名称 |
num | String | 是 | 电话号码 |
String | 是 | 邮件 | |
callbackFunction | Function | 否 | 回调函数 |
回调参数
var callbackFunction=function(error){}
error
是Number
类型,用来
参数名称 | 参数类型 | 说明 |
---|---|---|
error | Number | 表示操作是否成功,0表示成功,其他表示失败. |
示例:
uexContact.modifyItem("张三","13436827900","widgetone@3g2win.com", function(error) {
alert(data);
});
addItemWithVCard //vCard方式添加联系人
uexContact.addItemWithVCard(data,type, callbackFunction)
说明:
vCard方式添加联系人, 方法执行结束后回调callbackFunction
参数:
参数名称 | 参数类型 | 是否必选 | 说明 |
---|---|---|---|
data | String | 是 | 联系人数据,数据格式如下:BEGIN:VCARD\nVERSION:3.0\nN:韩;超\nTEL:22334752\nEMAIL:zhuliang@ceair.com\nADR:;;绥宁路628号;;上海;200335\nORG:中国东方航空股有限公司\nTITLE:项目经理\nURL:mp.ceair.com\nNOTE:名\347\211\214二维码\nEND:VCARD 其中:N-姓名,TEL-电话,EMAIL-邮箱,ADR-地址,ORG-公司,TITLE-职位,URL-网址,NOTE-备注 |
type | Number | 是 | 是否显示提示框,1-不显示,其余情况显示. |
callbackFunction | 函数 | 否 | 回调函数 |
回调参数
var callbackFunction=function(error){}
参数名称 | 参数类型 | 说明 |
---|---|---|
error | Number | 表示操作是否成功,0表示成功,其他表示失败. |
示例:
uexContact.addItemWithVCard('BEGIN:VCARD\nVERSION:3.0\nN:韩;超\nTEL:22334752\nEMAIL:zhuliang@ceair.com\nADR:;;绥宁路628号;;上海;200335\nORG:中国东方航空股有限公司\nTITLE:项目经理\nURL:mp.ceair.com\nNOTE:名\347\211\214二维码\nEND:VCARD','',function(error){
});
API版本: uexContact-4.0.2
最近更新时间:2017-04-28
历史发布版本 | 更新内容 |
---|---|
4.0.2 | 修复search和searchItem不能返回全部联系人的问题 |
4.0.1 | 修复闪退/内存泄露bugs |
API版本: uexContact-4.0.2
最近更新时间:2017-4-28
历史发布版本 | 更新内容 |
---|---|
4.0.2 | 修改search接口返回数据格式与iOS保持一致 |
4.0.1 | 解决获取联系人号码重复的问题 |