如何从双卡双待Android手机获取运营商名称?

2023-12-12

我可以从双 SIM 卡手机获取运营商名称。

我使用了以下代码,但它仅适用于单 SIM 卡手机。

TelephonyManager telephonyManager = ((TelephonyManager) mContext.getSystemService(Context.TELEPHONY_SERVICE));

幸运的是,我在搜索获取网络运营商的方式时发现了几种本地解决方案。

对于 API >=17:

TelephonyManager manager = (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE);

// Get information about all radio modules on device board
// and check what you need by calling #getCellIdentity.

final List<CellInfo> allCellInfo = manager.getAllCellInfo();
for (CellInfo cellInfo : allCellInfo) {
    if (cellInfo instanceof CellInfoGsm) {
        CellIdentityGsm cellIdentity = ((CellInfoGsm) cellInfo).getCellIdentity();
        //TODO Use cellIdentity to check MCC/MNC code, for instance.
    } else if (cellInfo instanceof CellInfoWcdma) {
        CellIdentityWcdma cellIdentity = ((CellInfoWcdma) cellInfo).getCellIdentity();
    } else if (cellInfo instanceof CellInfoLte) {
        CellIdentityLte cellIdentity = ((CellInfoLte) cellInfo).getCellIdentity();
    } else if (cellInfo instanceof CellInfoCdma) {
        CellIdentityCdma cellIdentity = ((CellInfoCdma) cellInfo).getCellIdentity();
    } 
}

在AndroidManifest中添加权限:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
</manifest>

要获取网络运营商,您可以检查 mcc 和 mnc 代码:

  • https://en.wikipedia.org/wiki/Mobile_country_code(一般信息)。
  • https://clients.txtnation.com/hc/en-us/articles/218719768-MCCMNC-mobile-country-code-and-mobile-network-code-list-(相当完整且最新的运营商列表)。

对于 API >=22:

final SubscriptionManager subscriptionManager = SubscriptionManager.from(context);
final List<SubscriptionInfo> activeSubscriptionInfoList = subscriptionManager.getActiveSubscriptionInfoList();
for (SubscriptionInfo subscriptionInfo : activeSubscriptionInfoList) {
    final CharSequence carrierName = subscriptionInfo.getCarrierName();
    final CharSequence displayName = subscriptionInfo.getDisplayName();
    final int mcc = subscriptionInfo.getMcc();
    final int mnc = subscriptionInfo.getMnc();
    final String subscriptionInfoNumber = subscriptionInfo.getNumber();
}

对于 API >=23。要检查手机是否是双卡/三卡/多卡:

TelephonyManager manager = (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE);
if (manager.getPhoneCount() == 2) {
    // Dual sim
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从双卡双待Android手机获取运营商名称? 的相关文章

  • Java 8 流排序字符串列表[重复]

    这个问题在这里已经有答案了 我正在流上调用排序方法 java 文档说 Sorted 方法返回一个由该流的元素组成的流 并根据自然顺序排序 但是当我运行下面的代码时 List
  • 取消正在执行的 AsyncTask 的理想方法

    我正在后台线程中运行远程音频文件获取和音频文件播放操作AsyncTask A Cancellable显示获取操作运行时间的进度条 我想取消 中止AsyncTask当用户取消 决定反对 操作时运行 处理这种情况的理想方法是什么 刚刚发现Ale
  • 返回 Consumer 表达式内的 Method 值

    我试图在方法中返回一个布尔值 并且我正在使用消费者函数 有什么方法可以直接在 Consumer 表达式中返回该值吗 这是代码 private static boolean uuidExists UUID uuid MySQL getResu
  • Java 相当于 C# 的 async/await?

    我是一名普通的 C 开发人员 但偶尔也会使用 Java 开发应用程序 我想知道 Java 中是否有相当于 C async await 的东西 简单来说 java 相当于 async Task
  • Lcom/google/firebase/FirebaseApp 类中没有虚拟方法 zzbqo()Z;或其超类(“com.google.firebase.FirebaseApp”的声明

    在我的 Android 应用程序中 编译应用程序时出现错误 我正在最新的 android studio 中工作 并使用 Firebase UI Auth 和 Firebase 数据库 所有版本在应用程序级等级文件中都相同 那么为什么我收到此
  • Android:iOS UIActionSheet 等效项

    我正在转换一个 iOS 应用程序 并且需要实现从 iOS 到 Android 的 UIActionSheet 的等效项 什么 UI 元素最能模仿这一点 我的目标是 Android 2 2 及更高版本 您将使用 AlertDialog 或 D
  • Java:字符串连接和变量替换的最佳实践[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 在 Java 中连接字符串和添加变量值的方法有太多 我应该如何选择一个 优点 缺点 最佳用例等 MessageFormat forma
  • Java - 在特定日期执行方法[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我需要在每年的特定日期执行一个方法 我该如何在java中执行此操作 Thanks Chris 按优先顺序排列 The Quartz htt
  • 多少次函数调用会导致堆栈溢出

    你好 Android Java 开发者 当一个函数调用一个函数并且该函数调用另一个函数等等时 有多少次调用 堆栈长度 会让我陷入堆栈溢出 有一般经验法则吗 我问的原因是因为我现在对于我的 5 人纸牌游戏来说哪个更有效 设计明智 解决方案一
  • Spring Boot 中的外部化配置,多个应用程序在同一容器中运行

    我正在构建多个 Spring Boot 应用程序 这些应用程序将部署在同一个 servlet 容器上 但我很难让 Spring Boot 按照我想要的方式使用外部化配置文件 而不是像框架想要的那样 情况 多个 Spring Boot 应用程
  • 在 Repository 类中观察 Forever 是一个好习惯吗?数据库+网络分页列表

    我正在按照架构指南构建应用程序 实现了房间数据库缓存 网络 需要从单独的实体获取最新页码 我的型号 Entity tableName top rated movie page public class Top Rated Movies Pa
  • 如何执行graph-api Facebook Android SDK来上传照片并标记人物?

    如何执行graph api Facebook Android SDK来上传照片并标记人物 在网络上 对于 Android 版 facebook sdk 有很多混淆 我的第一个方法 Bitmap img bitmap if img null
  • 将文件内容存储到数组中

    我的刽子手程序有问题 我真的认为我需要做的事情超出了我对java的理解 这是我的代码 import java io BufferedReader import java io FileReader import java io FileNo
  • 在 RadioButton 旁边添加 EditText

    我有一个习惯DialogPreference我想在其中有一个子类RadioGroup与三个单选按钮 前两个是香草RadioButton带有标题的组件 但对于第三个我想放置一个EditText直接在它的右侧 这样当选择该按钮时我可以输入自定义
  • 更新 Maven 项目模块中的父版本

    我有一个奇怪的场景 我有一个项目 Y 它有一个模块 X 和一些其他模块 X 是项目 Y 的一部分 但它不作为该项目的模块链接 因此 每次发布 Y 的新版本时 都需要有人手动更新 X 中的父版本 我需要以这样的方式更新 Y 项目 a 每次发布
  • 如何在屏幕上拖动图像

    谁能帮助我如何为可以在屏幕上拖动的图像编写程序 你能给我一个示例代码吗 多谢 我怎样才能为它制作游戏得分 我将感谢您的回复 imageView setOnLongClickListener new OnLongClickListener p
  • 使用 JavaFX 和 Maven 将模块描述符添加到库中[重复]

    这个问题在这里已经有答案了 我需要使用反思 https github com ronmamo reflections在一个带有 JavaFX 的 Maven 项目中 我想使用jlink捆绑一个最小的 JRE 问题是我运行时出现以下错误mvn
  • Android - 下载 JSON 数据并保存到共享首选项

    我正在从 PHP 服务读取 JSON 数据 每当该 JSON 的版本发生变化时 我想将其存储在 Android 上 用新数据替换旧数据 JSON 仅用于填充 Spinner 我的问题是 JSON 有 36KB 可以将其存储在共享首选项中有一
  • 如何解决“布局有超过 80 个视图,对性能不利”?

    我正在做一个有点复杂的布局 只是我无法修复 LINT 指示的错误 黑莓浏览次数超过 80 对性能不利 这是布局
  • JVM 调试端口 7779 正在使用

    我正在使用 RAD 8 当我在调试模式下启动服务器时 它会显示一条错误消息 指出JVM debug port 7779 is in use 我多次遇到这个问题 因为我知道 RAD 使用了这个端口 所以我不得不停止这个过程窗口任务管理器 gt

随机推荐

  • 无法连接 EA 中活动图中的活动

    您好 我目前遇到 EA 中活动图的问题 我正在尝试描述一个代码 当我添加启动控制节点和活动节点时 我无法通过控制流连接它们 当我尝试将两个活动与控制流连接在一起时 会发生同样的问题 我收到以下错误 请求的连接不符合 UML 有人可以就此提供
  • 如何使用 ExoPlayer IMA 扩展在特定点展示广告?

    我在用ExoPlayer 2 7 3带有 IMA 扩展名 我必须以一定的时间间隔展示广告 我已经成功地整合了AdsLoader and AdsMediaSource 我正在接收并展示广告 但广告只出现在电影的开头 如何让广告在我想要的时间点
  • 使用 openxml 创建 powerpoint 的示例

    在哪里可以找到使用 OpenXML 在 ppt 文件中插入文本和图像的 Hello World 我无法生成简单的模板 在开发 PowerPoint 模板之前 请阅读此内容中的presentationML 结构PDF 请参阅以下链接以使用 O
  • 如何在 Tkinter 中将点击事件绑定到 Canvas? [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我只是想知道是否有任何可能的方法使用 Tkinter 将单击事件绑定到画布 我希望能够单击画布上的任意位置并将对象移动到其中 我能够做出动作 但我还没有找到将点击绑定到画布的方法
  • 在数据框中使用向量的打印方法

    考虑以下向量x x lt c 6e 06 75000400 743450000 340000 4300000 我想打印x以百万计 所以我编写了一个 print 方法并将一个类分配给x print million lt function x
  • Play 框架 2 (Java) 表单数据绑定与嵌套允许字段

    考虑以下模型 public class Contact Required public String name Valid public List
  • 将 POST curl 从命令行转换为 php 时遇到问题

    我在将curl 命令转换为php 时遇到问题 这部分效果很好 CURL 命令将条目添加到我的 Parse com 数据库中 curl X POST H X Parse Application Id my id H X Parse REST
  • iOS AUSampler audiounit - EXS 音频文件的文件路径问题?

    遵循苹果文档here我已经能够通过重新创建成功将 GarageBand EXS 采样器乐器加载到我的 iOS 应用程序中的 AUSampler 中 例如我的应用程序目录中的以下路径 Sampler Files Funk Horn Secti
  • 如何使用 MVVM 在 RibbonComboBox 上设置 SelectedItem?

    我该如何设置SelectedItem on a RibbonComboBox using MVVM图案 View
  • Playframework [1.2.7] 依赖项失败

    我们遇到了游戏框架依赖管理的问题 几天前该问题运行良好 我们尚未对依赖文件进行任何配置更改或更改 但在我们的构建服务器和本地 均位于不同的网络和 ISP 上 上均出现以下错误 problems summary WARNINGS module
  • Django 从 ImageField 下载图像

    我正在使用 Django 1 7 和 Python 3 4 我有一个这样的模型 class ImageModel models Model image models ImageField verbose name image upload
  • 两个数据库之间的Mysql数据库同步

    我们正在各个商店运行带有 MySql 后端的 Java PoS 销售点 应用程序 我想让商店中的数据库与主机服务器上的数据库保持同步 当商店发生一些变化时 它们应该在主机服务器上更新 我该如何实现这一目标 创建复制并不难 这里有一些很好的教
  • 在C中查询最大套接字发送缓冲区大小?

    我知道我可以 cat proc sys net core wmem max 来获取套接字上 SO SNDBUF 的最大大小 但是有没有一种简单的方法可以在 C 中查询该值 而无需执行打开文件的笨拙步骤 读取并转换为整数 要获取 net ip
  • 如何在 R 中查看所有 xml_nodeset 类对象(rvest::html_nodes 的输出)?

    如果我们创建一个类的对象xml nodes using rvest s html nodes 我们如何在 R 控制台中查看所有输出 Example library rvest library dplyr Generate some samp
  • PHP MySQL 多条件搜索

    我在网站中有一个搜索表单 希望有几个由用户输入的搜索词来执行数据库搜索 词如下 Keywords 物业出售 出售 出租 房产类型 公寓 排屋 State 最低价格 最高价格 这是使用上述术语的输入执行搜索的脚本 public functio
  • Supabase动态RPC函数

    我希望创建一个 RPC 来获取列的不同值 但我将在多个表中执行此操作 并且我不想为每个列和每个表一遍又一遍地编写此函数 我有以下 SQL 语句可以满足我的需要 SELECT owner FROM customers GROUP BY own
  • 多种语言的问题

    我希望我的应用程序能够提供多种语言版本 比如说两种 一种是默认英语 另一种是默认英语 这两个选项都可以在我的主页上找到 并且必须显示一个链接 使用户能够选择他选择的语言 我正在阅读Django官方文档为了这 所以任何人都可以让我知道如何做到
  • 为什么不打印!在 Rust 单元测试中工作?

    我已经实现了以下方法和单元测试 use std fs File use std path Path use std io prelude fn read file path Path let mut file File open path
  • 如何在matlab中将图像分割为64块

    我想计算每个图像的颜色布局描述符 CLD 该算法包括四个阶段 在第一阶段 我必须将每个图像划分为 64 个块 i 8 8 n 以便从每个块计算单个代表颜色 我尝试使用 For 循环 将图像划分为 64 个块 但我得到 64婷图像 我想获得具
  • 如何从双卡双待Android手机获取运营商名称?

    我可以从双 SIM 卡手机获取运营商名称 我使用了以下代码 但它仅适用于单 SIM 卡手机 TelephonyManager telephonyManager TelephonyManager mContext getSystemServi