如何检查 Android 设备中的 Sim 卡是否可用?

2023-12-07

我需要帮助以编程方式检查设备是否有 SIM 卡。请提供示例代码。


使用电话管理器。

http://developer.android.com/reference/android/telephony/TelephonyManager.html

正如法尔马里指出的那样,你will想要使用获取电话类型首先,看看您是否使用的是 GSM 手机。如果是,那么您还可以获得 SIM 状态。

TelephonyManager telMgr = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
    int simState = telMgr.getSimState();
            switch (simState) {
                case TelephonyManager.SIM_STATE_ABSENT:
                    // do something
                    break;
                case TelephonyManager.SIM_STATE_NETWORK_LOCKED:
                    // do something
                    break;
                case TelephonyManager.SIM_STATE_PIN_REQUIRED:
                    // do something
                    break;
                case TelephonyManager.SIM_STATE_PUK_REQUIRED:
                    // do something
                    break;
                case TelephonyManager.SIM_STATE_READY:
                    // do something
                    break;
                case TelephonyManager.SIM_STATE_UNKNOWN:
                    // do something
                    break;
            }

EDIT:

从 API 26 开始(Android O 预览版)您可以使用以下命令查询 SimState 以获得各个 sim 插槽getSimState(int slotIndex) ie:

int simStateMain = telMgr.getSimState(0);
int simStateSecond = telMgr.getSimState(1);

官方文档

如果您使用较旧的 api 进行开发,则可以使用TelephonyManager's

String getDeviceId (int slotIndex)
//returns null if device ID is not available. ie. query slotIndex 1 in a single sim device

int devIdSecond = telMgr.getDeviceId(1);

//if(devIdSecond == null)
// no second sim slot available

这是在 API 23 - 文档中添加的here

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何检查 Android 设备中的 Sim 卡是否可用? 的相关文章

随机推荐

  • 将 xml 列中的数据插入到临时表中

    我有一个 xml 列 看起来像 SET XMLData
  • ggplot 在 X 轴下方添加跟踪颜色

    我想在 x 轴下方添加一条线 其颜色取决于未绘制的因素 在此示例中 我正在创建一个箱形图 并希望添加一条指示另一个变量的线 以汽车数据集为例 然后实际思考我正在尝试做的事情 ggplot mtcars aes factor cyl mpg
  • 为什么 angular2 多次执行方法?

    我的应用程序结构如下所示 ts export class TodoListComponent get sortedTodos ITodo console log this counter html div class todo item d
  • 在 C# 中将日期时间转换为儒略日期(ToOADate 安全吗?)

    我需要从标准转换公历约会到Julian天数 我在 C 中没有看到任何直接执行此操作的文档 但我发现许多帖子 在谷歌搜索时 建议使用ToOADate 有关的文档ToOADate不建议将此作为儒略日期的有效转换方法 任何人都可以澄清此函数是否能
  • HTML Favicon.ico 不会在 Google Chrome 上显示

    我正在制作一个 HTML 页面 我想要的东西之一是标题旁边出现一个图标 我使用的是 Google Chrome 我看到其他网站上的图标可以正常工作 但我网站上的图标不会显示 该网站位于我桌面上名为 site 的文件夹中 The favico
  • 类型“string[]”上不存在属性“includes”

    收到错误 类型 string 上不存在属性 includes 在node modules ng2 breadcrumb app components breadcrumbService ts中 我正在尝试在 angular2 应用程序中实现
  • C++ 计数和映射

    我正在计算每个单词在文本文件中出现的次数 我想避免出现这种情况 因此我会减少我的输入 然后进行计数 我有一个地图数据结构 其中有 string 和 int 来保持计数 现在 当我输出单词及其计数时 我不希望单词为小写 而是希望它保持其原始大
  • R:绘图:重新排列变量的顺序

    我想在 R 中创建一个条形图 但是 我想重新排列 x 轴上的变量 不是按频率 而是按 含义 假设我有以下数据集 df lt data frame read table header TRUE text ID Radio 1 A 2 B 3
  • 为什么 Subversion 不允许提交 .htaccess 文件?

    我无法从 Windows SVN 客户端 TortoiseSVN 提交 htaccess 文件 返回的错误是 无法读取状态行 现有连接被远程主机强制关闭 这基本上是我的虚拟主机在 Apache 中的样子
  • 仅当字符串数组中的元素长度大于零时,如何才能显示此应用程序中的元素?

    我正在使用 Vue 3 TypeScript 和电影数据库 TMDB 开发 SPA 该应用程序显示列表电影卡 In the 电影列表成分 src components MoviesList vue 我有
  • 如何在ASP.NET中制作文件上传接口

    我正在尝试在 ASP NET Webforms 中创建一个文件上传界面 并正在寻找一些有关如何继续的建议 文件上传界面是我正在制作的网站的一部分 用户可以在该网站上发布广告 该界面是 创建新广告 的一部分 允许用户上传最多 6 张图像 我只
  • UIView默认样式有圆角吗?

    我正在使用一个UIPopoverController显示一个UIView 布局有点类似于UISplitViewController所以在 细节视图 上有圆角看起来很奇怪 因为它留下了一个小间隙 我无法找到与其他遇到此问题的人相关的任何内容
  • 删除与模式匹配的第一行

    如何使用 sed 只删除包含特定模式的第一行 例如 我想删除第一行匹配FAA从这个文件 1 foo bar quuz 2 foo FAA bar this should go 3 quuz quuz FAA this should rema
  • 如何在多行“脚本”步骤中中断单个命令

    我们有一个使用Azure Pipeline的项目 依赖azure pipelines yml文件位于存储库的根目录中 当实施一个script步骤 可以在同一步骤中执行连续的命令 只需将它们写在不同的行上 script ls la pwd e
  • 如何让函数返回多个值

    这是我的代码 var Evalcard function number if number 1 this name Ace this value 11 else if number 11 this name Jack this value
  • 如何在WinRT中获取像素的RGB值

    我正在尝试获取 WinRT 应用程序中每个像素的 RGB 值 我可以访问包含以下内容的字节数组PixelData但我不知道如何使用它 那么如何从字节数组中提取 RGB 信息 var bd await Windows Graphics Ima
  • 在JApplet中添加图像

    ImageIcon icon new ImageIcon a gif JLabel jLabel1 new JLabel icon jLabel1 setVisible true card1 add jLabel1 我是 Java 的新手
  • Spring Batch 为特定作业禁用 Spring Boot 自动配置

    我的 Spring Batch 应用程序有多个作业 但只有一个作业使用一些特定的 Spring Boot 自动配置功能 使用 spring data jpa 自动配置的作业 为业务事务配置数据库 不适用于 Spring Batch 管理 根
  • NoMethodError(# 的未定义方法“空?”):

    我使用创建了一个 Rails APIpostgre我的模型 表 名称为数据库咨询活动 NOTE 不使用scaffold并使用rails 5 我的架构 迁移 咨询活动如下 class CreateCounselingEvent lt Acti
  • 如何检查 Android 设备中的 Sim 卡是否可用?

    我需要帮助以编程方式检查设备是否有 SIM 卡 请提供示例代码 使用电话管理器 http developer android com reference android telephony TelephonyManager html 正如法