步骤:
1. manifest.json
APP模块配置 勾选Contact(通讯录)
2. manifest.json -源码试图 app-plus>distribute>android 添加以下代码
"permissionExternalStorage" : {
"request" : "none",
"prompt" : "应用保存运行状态等信息,需要获取读写手机存储(系统提示为访问设备上的照片、媒体内容和文件)权限,请允许。"
},
3.在页面中添加获取用户同意访问通讯录方法
// 获取用户同意访问通讯录
getphone() {
var _this = this
plus.android.requestPermissions(['android.permission.WRITE_EXTERNAL_STORAGE'], function(e) {
if (e.deniedAlways.length > 0) { //权限被永久拒绝
// 弹出提示框解释为何需要读写手机储存权限,引导用户打开设置页面开启
console.log('Always Denied!!! ' + e.deniedAlways.toString());
}
if (e.deniedPresent.length > 0) { //权限被临时拒绝
// 弹出提示框解释为何需要读写手机储存权限,可再次调用plus.android.requestPermissions申请权限
plus.android.requestPermissions(['android.permission.WRITE_EXTERNAL_STORAGE'])
console.log('Present Denied!!! ' + e.deniedPresent.toString());
}
if (e.granted.length > 0) { //权限被允许
//调用依赖获取读写手机储存权限的代码
_this.upload() // 获取权限成功之后调用的函数
console.log('Granted!!! ' + e.granted.toString());
}
}, function(e) {
console.log('Request Permissions error:' + JSON.stringify(e));
});
},
4.获取手机号码
// 获取手机号码
upload(){
plus.android.importClass('android.telephony.TelephonyManager')
let context = plus.android.importClass('android.content.Context');
let TelephonyManager = plus.android.runtimeMainActivity().getSystemService(context.TELEPHONY_SERVICE);
let OperatorName = TelephonyManager.getSimOperatorName();
let phoneNumber = TelephonyManager.getLine1Number();
console.log("运行商名称: ", OperatorName,phoneNumber);
if (phoneNumber.startsWith('+86')) {
phoneNumber = phoneNumber.slice(3); // 去除前三个字符,即 "+86"
}
console.log("手机号: ", phoneNumber);
this.from.phone = phoneNumber
},
实测自定义基座打包没有问题,若有问题,请看官网