Uniapp安卓端获取手机号码

简述

简单的讲就是可以使用uniapp调取原生的安卓的接口来获取对应的手机号码信息

准备工作

下面是要开启的获取手机号的的必要信息转变准备

然后就是开启应用权限管理的号码权限(一般都会开启)

获取主手机号

javascript 复制代码
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卡的手机号

javascript 复制代码
// 导入必要的类
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('无法获取订阅信息');
}

当然这些都是得在用户允许的前提之下注意返回值哈

相关推荐
城东米粉儿3 小时前
Android MediaPlayer 笔记
android
Jony_3 小时前
Android 启动优化方案
android
阿巴斯甜3 小时前
Android studio 报错:Cause: error=86, Bad CPU type in executable
android
张小潇3 小时前
AOSP15 Input专题InputReader源码分析
android
Mintopia5 小时前
Vue3 项目如何迁移到 uni-app x:从纯 Web 到多端应用的系统指南
uni-app
Mintopia6 小时前
uni-app x 发展前景技术分析:跨端统一的新阶段?
uni-app
_小马快跑_8 小时前
Kotlin | 协程调度器选择:何时用CoroutineScope配置,何时用launch指定?
android
_小马快跑_8 小时前
Kotlin | 从SparseArray、ArrayMap的set操作符看类型检查的不同
android
_小马快跑_8 小时前
Android | 为什么有了ArrayMap还要再设计SparseArray?
android
_小马快跑_8 小时前
Android TextView图标对齐优化:使用LayerList精准控制drawable位置
android