Uniapp安卓端获取手机号码

server/2024/12/17 4:55:32/

简述

简单的讲就是可以使用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.ppmy.cn/server/150807.html

相关文章

Scala的trait

//定义trait //1.不是类&#xff1a;不能实例化 //2.它的构造器不能带参数&#xff01; 即&#xff1a;不能添加&#xff08;&#xff09;trait Shentihao{//具体属性var KM_i 5//抽象属性var sports:String//具体方法def say(): Unit {}//抽象方法def run } class Student e…

OpenCV--特征匹配

OpenCV--特征匹配 代码和笔记 代码和笔记 import cv2 import numpy as np""" 特征匹配 """""" 暴力特征匹配&#xff1a;使用第一组&#xff08;第一幅图&#xff09;中的一个特征描述子&#xff0c;使用一些距离计算与第二组中…

谷粒商城—分布式高级①.md

1. ELASTICSEARCH 1、安装elastic search dokcer中安装elastic search (1)下载ealastic search和kibana docker pull elasticsearch:7.6.2 docker pull kibana:7.6.2(2)配置 mkdir -p /mydata/elasticsearch/config mkdir -p /mydata/elasticsearch/data echo "h…

Nmap初步学习

Target 实践内容&#xff1a;在目标系统中识别开放端口 涉及知识点&#xff1a;理解TCP/IP 协议、端口扫描技术、Nmap 工具使用、服务识别。 Trail 命令 nmap -sS <ip> //SYN半开扫描,使用最频繁&#xff0c;安全&#xff0c;快 nmap -sT //TCP连接扫描&#xf…

Linux网络基础知识————网络编程

计算机网络的体系结构 网络采用分而治之的方法设计&#xff0c;将网络的功能划分为不同的模块&#xff0c;以分层的形式有机结合在一起 每层实现不同的功能&#xff0c;其内部实现的方法对外部其他层次来说是透明的&#xff0c;每层向上一层提供服务&#xff0c;使用下一层提供…

rsyslog、Webhook 和 SNMP

rsyslog、Webhook 和 SNMP 是三种不同的技术和协议&#xff0c;通常用于日志管理、监控、和事件通知等场景中。它们的作用和使用场景有所不同。下面我将详细解释它们的功能、工作原理、适用场景和区别。 1. rsyslog&#xff08;Remote System Logging Protocol&#xff09; 作…

react 计算属性

一、计算属性的概念&#xff08;通过函数和钩子实现&#xff09; 1. 使用useMemo钩子&#xff08;用于性能优化&#xff09; useMemo是一个 React 钩子&#xff0c;用于缓存计算结果。它会在组件重新渲染时&#xff0c;根据依赖项数组来决定是否重新计算。如果依赖项没有改变…

Node.js基础入门

1.Node.js 简介 Node 是一个让 JavaScript (独立)运行在服务端的开发平台,它让 JavaScript 成为与PHP、Python、Perl、Ruby 等服务端语言平起平坐的脚本语言。 发布于2009年5月,由Ryan Dahl开发,实质是对Chrome V8引擎进行了封装。 简单的说 Node.js 就是运行在服务端的…