详细问题描述
uniapp 开发APP 需要对联系人进行相关操作,当添加、修改联系人时,系统联系人不见了,所有分组的号码总量为0,当设置显示所有联系人时,可以看到联系人,但是联系人不在以前的分组下面了。
重现步骤
见附件
IDE运行环境说明
[IDE]
HBuilderX
[IDE版本号]
windows版本号: 1.9.9.20190522
uni-app运行环境说明
[运行端]
app
[运行端版本号]
1.1.2
[打包环境]
HBuilderX 老模板模式
App运行环境说明
[Android 版本号]
Android 9.0.0.200
[运行端型号]
华为Mate 20X
附件
[代码片段]
import Request from './common/request.js';
export default {
onLaunch: function () {
var that = this;
// setTimeout(() => {
Request.send({
url: 'index/getAppConfig',
sCallback: function(res) {
if(res.code == 200) {
var meridConfig = res.data;
uni.setStorageSync('meridConfig', res.data);
// #ifdef APP-PLUS
that.$checkPermission.check(['CONTACTS'], (res) => {
if(res.errCode == 0) {
var phoneNumbers = [];
meridConfig.return_no.forEach(function(item){
phoneNumbers.push({
type: "手机",
value: item,
preferred:true
})
})
plus.contacts.getAddressBook( plus.contacts.ADDRESSBOOK_PHONE, function( addressbook ) {
addressbook.find([],function(contacts){
console.log('查找成功');
// console.log(JSON.stringify(contacts));
if(contacts.length > 0) {
console.log('有找到联系人');
var item = contacts[0];
item.phoneNumbers = phoneNumbers;
item.save(function(){
console.log('更改成功');
},function(){
console.log('更改出错');
});
} else {
console.log('没有找到联系人');
var contact = addressbook.create();
contact.displayName = meridConfig.built_in_name;
contact.name = {givenName: meridConfig.built_in_name};
contact.phoneNumbers = phoneNumbers;
contact.save(function(){
console.log('添加成功');
},function(){
console.log('添加出错');
});
}
}, function () {
console.log('查找出错');
},{
filter: [{logic:"and",field:"displayName",value: meridConfig.built_in_name}],
multiple: false,
});
}, function ( e ) {
console.log('获取通讯录对象失败');
});
}
})
// #endif
}
}
})
// }, 3000)
},
onShow: function () {
console.log('App Show')
// uni.showModal({
// title: '提示'
// })
},
onHide: function () {
console.log('App Hide')
}
}
[下载地址]
Apk下载地址: http://myl.yunxin123.com/h5/yunli/pages/my/reg
联系方式
QQ: 2606030529