详细问题描述
我们的应用需求获取通讯录信息。不止于添加 所以查看了 5+文档 https://www.html5plus.org/doc/zh_cn/contacts.html,主要看在APP上功能能否正常,已经开启了contracts模块,相关读取修改通讯录权限已加,在android机调试下总是每次都提示runtime错误,显示【打包时未添加contacts模块】,每一次都得云打包安装查看,很麻烦。这是第一个问题。
其次就是已经给了相关权限后调用 plus.contacts.getAddressBook 执行成功回调。但是使用find方法的时候一直没有执行成功或失败的返回。我在社区搜索了相关资料,2014年就有人反馈这个模块有问题.....
[内容]
帖上我的代码 如下
// #ifdef APP-PLUS
plus.contacts.getAddressBook(
plus.contacts.ADDRESSBOOK_PHONE,
function (addressbook) {
fun.alert("addressbook calback success");
fun.alert("addressbook json: " + JSON.stringify(addressbook));
try{
if (addressbook.find==undefined) {
fun.alert("addressbook.find 方法不存在");
}
fun.alert("111111111111111");
addressbook.find(["displayName","phoneNumbers"],function(contacts){
console.log("getAddressBook success");
fun.alert(contacts.length);
}, function () {
fun.alert("getAddressBook fail");
},{multiple:true});
fun.alert("222222222222222222");
}catch(e){
fun.alert('调用find异常:'+JSON.stringify(e));
}
fun.alert("3333333333333333333");
},
function(e){
if (e.code!=undefined && e.code==20) {
fun.alert('未授权');
}
fun.alert("Get address book failed: " + JSON.stringify(e));
});
// #endif
[步骤]
在弹出授权获取相关权限点击允许之后执行该段代码
[结果]
弹出相关的弹窗提示 表明已经执行了获取通讯录成功的回调
[期望]
按照代码应该可以获取通讯录个数 但是并没有进去匹配成功或失败的回调
[如果语言难以表述清晰,拍一个视频或截图,有图有真相]
IDE运行环境说明
[HBuilder 或 HBuilderX。如果你用其他工具开发uni-app,也需要在此说明]
Hbuilder
[IDE版本号]
2.2.2
[windows版本号]
windows7
[mac版本号]
uni-app运行环境说明
[运行端是h5或app或某个小程序?]
app
[运行端版本号]
[项目是cli创建的还是HBuilderX创建的?如果是cli创建的,请更新到最新版cli再试]
HBuilderX创建
[编译模式是老模板模式还是新的自定义组件模式?]
线上云打包
App运行环境说明
[Android版本号]
小米 MIUI 10
[iOS版本号]
[手机型号]
[模拟器型号]
附件
[IDE问题请提供HBuilderX运行日志。菜单帮助-查看运行日志,点右键打开文件所在目录,将log文件压缩成zip包上传]
[App问题请提供可重现问题的代码片段,你补充的细一点,问题就解决的快一点]
[App安装包或H5地址]
[可重现代码片段]
联系方式
[QQ]601961186