当前位置: 首页 > article >正文

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

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


http://www.kler.cn/a/441702.html

相关文章:

  • 云计算、AI与国产化浪潮下DBA职业之路风云变幻,如何谋破局启新途?
  • STM32 FreeRTOS 任务挂起和恢复---实验
  • java知识框架
  • Spring 中的事件驱动模型
  • ARCGIS国土超级工具集1.3更新说明
  • C++语言的文件操作
  • Docker中 localhost 与 0.0.0.0 的区别详解
  • oracle client linux服务器安装教程
  • git SSL certificate problem: unable to get local issuer certificate
  • 只出现一次的数字(字节面试题 最优解)
  • OpenCV 功能函数介绍 (二)
  • awk使用详解
  • 【WPF】RenderTargetBitmap的使用
  • 如何让你的 PHP 应用坚不可摧
  • 【网络安全】掌握 Active Directory 攻防审计实操知识点
  • MaskGCT——开源文本转语音模型,可模仿任何人说话声音
  • 宝塔 搭建HOJ 配置域名 反向代理 开启https访问
  • Android使用PorterDuffXfermode的模式PorterDuff.Mode.SRC_OUT实现橡皮擦,Kotlin(1)
  • Flink-Learning全面探索流式处理的卓越框架
  • 【win10+RAGFlow+Ollama】搭建本地大模型助手(教程+源码)
  • CTFHub-ssrf
  • mysql flink cdc 实时数据抓取
  • 大模型QLoRA微调——基于Qwen2-7B的自动化病历摘要生成系统
  • OpenCV与Qt5构建卡尺找直线工具
  • 7.OPEN SQL
  • BIO实战、NIO编程与直接内存、零拷贝深入辨析