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('无法获取订阅信息');
}

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

相关推荐
可乐鸡翅yeah_11 分钟前
HLS CORS 跨域问题完整排查实战,解决 M3U8 与 TS 分片跨域报错
android·ios·音视频·m3u8·音视频在线播放
邪修king1 小时前
Linux系统篇(二十三) 基础 IO:从“文件”到“文件描述符”,彻底理解重定向
android·java·linux
灵境(虚幻知音)1 小时前
效能评估指标体系构建:方法、流程与模板
android·数据库
光影少年1 小时前
React18 对RN 的影响
android·前端·react.js·ios·前端框架
杉氧1 小时前
丝滑的奥秘:Reanimated 3 动画引擎与手势处理(Gesture Handler)
android·前端·react native
我命由我123452 小时前
Compose Codelab 学习 - Jetpack Compose 中的状态
android·java·java-ee·android studio·android jetpack·android-studio·android runtime
sbjdhjd2 小时前
在 8 字符、字母数字过滤与 PHP 版本差异下复盘临时文件命令执行链 | (8字符绕过)
android·java·开发语言·安全·web安全·数据挖掘·php
小七在进步2 小时前
C++入门(3)
android·java·c++
码农coding2 小时前
android12 SystemUI下拉通知栏的加载流程
android
凡泰AI3 小时前
如何为政务 APP 搭建开放平台,实现多部门、第三方供应商标准化入驻与统一管理
android·大数据·小程序·uni-app·app·政务