Uniapp安卓端获取手机号码
简述
简单的讲就是可以使用uniapp调取原生的安卓的接口来获取对应的手机号码信息
准备工作
下面是要开启的获取手机号的的必要信息转变准备
然后就是开启应用权限管理的号码权限(一般都会开启)
获取主手机号
onLoad() {
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}`);
console.log(`手机号:${phoneNumber}`);
},
获取所有的sim卡的手机号
// 导入必要的类
let SubscriptionManager = plus.android.importClass('android.telephony.SubscriptionManager');
let TelephonyManager = plus.android.importClass('android.telephony.TelephonyManager');
let Context = plus.android.importClass('android.content.Context');
// 获取系统服务
let context = plus.android.runtimeMainActivity();
let subscriptionManager = context.getSystemService(Context.TELEPHONY_SUBSCRIPTION_SERVICE);
let telephonyManager = context.getSystemService(Context.TELEPHONY_SERVICE);
// 获取所有的订阅信息
let subscriptionInfoList = subscriptionManager.getActiveSubscriptionInfoList();
if (subscriptionInfoList) {
for (let i = 0; i < subscriptionInfoList.size(); i++) {
let subscriptionInfo = subscriptionInfoList.get(i);
let subscriptionId = subscriptionInfo.getSubscriptionId();
// 获取每个SIM卡的TelephonyManager实例
let telephonyManagerForSim = telephonyManager.createForSubscriptionId(subscriptionId);
let phoneNumber = telephonyManagerForSim.getLine1Number();
console.log(`SIM卡 ${i + 1} 的手机号: ${phoneNumber}`);
}
} else {
console.log('无法获取订阅信息');
}
当然这些都是得在用户允许的前提之下注意返回值哈