如何查明特定设备是否支持 SIM 硬件?

2024-01-03

我想根据 SIM 硬件是否存在来禁用我的应用程序中与 CALL 和 SMS 相关的功能。现在,初学者的方法是使用以下命令检查电话类型:

if (telephonyManager1.getPhoneType() == TelephonyManager.PHONE_TYPE_NONE)

如果为真则支持。

一切都很好,直到我遇到了 Sony Tablet S,它只支持数据和消息传递的 SIM 卡。没有语音支持。因此,对于此设备,我只需要禁用呼叫功能,但继续支持短信。 索尼平板电脑返回 TelephonyManager.PHONE_TYPE_NONE 所以我无法使用上述方法。 还 ,

telephonyManager1.getSimState();

返回 1,即 SIM_STATE_ABSENT,这在 HTC FLYER 的情况下也是相同的,因为 HTC FLYER 本身不支持 SIM 硬件。

那么有什么方法可以让我知道 SIM 硬件是否存在(无论是否插入 SIM 卡)?


Use

PackageManager pm = this.getPackageManager();
boolean hasTelephony=pm.hasSystemFeature(PackageManager.FEATURE_TELEPHONY);

Edit:

尝试使用

TelephonyManager.getLine1Number()

如果返回 null,那么您将没有电话功能。没试过。试一试

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

如何查明特定设备是否支持 SIM 硬件? 的相关文章

随机推荐

  • 数组 groupBy 和求和值[重复]

    这个问题在这里已经有答案了 我有一个像这样的数组 let purchases year 2019 sum 3000 year 2019 sum 5500 year 2020 sum 2300 我需要计算每年的总和值 即得到以下结果 2019
  • 如何在axios中针对不同主机使用Django的CSRF保护?

    我正在 ReactJS 项目作为前端 Django 作为后端 并且在 CSRF 保护方面遇到问题 我正在使用 Django CORS 标头 并且我已正确完成所有设置 只要我有本地主机来访问前端和后端 它就可以工作 我的前端在 localho
  • Django:复制文件字段

    我正在尝试使用硬链接复制文件 其中文件存储为 Django FileField 我想使用硬链接来节省空间和复制时间 预计不会对原始文 件或副本进行任何更改 但是 当我尝试从下面的代码片段调用 new file save 时 我遇到了一些奇怪
  • 在 Google 地图 API 中获取最多(超过 20)个结果

    我在用Google maps API version 3以及使用 javascript 进行地点文本搜索 但我只得到 20 个结果 如何获得 20 多个结果 例如 100 或 200 左右 默认值为 20 但最多可以有 60 个 但是它们将
  • 序言,复制列表

    我试图掌握一些基本的序言 但在这个过程中有点挣扎 具体来说 我正在尝试遍历项目列表并将其逐项复制到新列表中 我可以让它反转 但我发现不反转会更棘手 我一直在尝试以下操作 copy L R accCp L R accCp R accCp H
  • 如何找出使用了哪个可绘制资源?

    我想知道运行来自 ldpi mdpi hdpi 或 xhdpi 的应用程序时使用了哪个可绘制资源 您应该能够按照所述获取设备的显示属性here https stackoverflow com a 3166582 1029225然后通过将结果
  • 无法使用最新的 Firebase 框架读取/写入 Nest Firebase 值

    我一直在尝试将 Nest 集成到我的 iOS 应用程序中 遵循有关用户身份验证的所有说明 然后调用 Nest API 我使用 Nest 的 iOS 示例应用程序作为参考 https github com nestlabs iOS NestD
  • Apache Camel 计时器:“周期”与“固定速率”

    period 和 fixedRate 一起的确切用法是什么 这真的有意义吗 因为如果我指定了 周期 值 那么无论如何计时器都会在该间隔后触发 所以 fixedRate 标志的确切用途是什么 我很困惑请帮助我 您可以在以下位置阅读 java
  • 如果 CSS“user-select=none”元素的文本位于元素之间,则该元素的文本将被复制

    看看这个片段 noselect webkit touch callout none iOS Safari webkit user select none Safari khtml user select none Konqueror HTM
  • 在 RDD[(String, Int)] 上 saveAsTextFile 时如何删除记录周围的括号?

    我在用着saveAsTextFile path 以便将输出保存为文本文件 以便稍后将结果导入数据库 输出看起来像这样 value1 value2 如何去掉括号 您可以尝试以下非常基本的操作 rdd map x gt x 1 x 2 save
  • 如何替换 therubyracer javascript 运行时

    我该如何更换therubyracer宝石 我真的被困住了 我们一直在使用therubyracer我们的 Rails 资产管道的 gem 然而 它使用的依赖项已经过期并且存在安全漏洞 最新版本0 12 3是从 2017 年 1 月 5 日开始
  • 在电脑上未安装python的情况下运行python脚本

    我创建了一些数据处理脚本 它们需要每天执行 但是PC的数量接近150台 我无法在所有PC上手动安装Python 所以我需要一种方法让这些在这些 Windows 系统上工作 我尝试使用 PyInstaller 创建 exe 并将其放置在服务器
  • 自动完成内的 InputLabelProps 不受尊重

    我正在尝试使标签在内部可供选择和复制Autocomplete组件通过设置InputLabelProps sx userSelect text inside renderInput 理想情况下 我希望可以单击或双击来选择标签文本 export
  • 访问 Silverlight DataTemplate 内的元素

    尽管已经有一些相关问题 但我无法找到以下问题的干净解决方案 如果我有一个被多次使用的数据模板 例如 TreeViewItem Header 模板 我如何才能仅更改某些 TreeView 项目的模板 例如 假设我的 TVI HeaderTem
  • 处理证书时发生未知错误

    我有一个自签名证书 我想在我的 websockets 服务器上使用它来处理来自 wss localhost 443 的请求 我从任何网络浏览器连接到服务器 但是 我似乎无法正确进行身份验证 每次我尝试通过 Advanced Rest Cli
  • Play Framework 2.2.1 (Java) 中的 AspectJ

    我想将 AspectJ Weaving 包含在 Play 2 2 1 项目中 我只找到一个答案解释如何将 AspectJ 添加到 Play 2 1 1 项目 https stackoverflow com a 16606135 346421
  • 如何在 UIAlertView 中对齐消息?

    我想知道如何设置警报视图的委托消息的对齐方式 任何人都有解决方案 请回复一些代码 这只是之前答案的稍微简化版本 但我喜欢保持简单 for UIView view in alert subviews if view class isSubcl
  • iPhone 5 及以下版本应用程序崩溃

    我发布了一个简单的游戏 可以在 iPhone 5s 6 6s 和 iPad 上正常运行 但当在 iPhone 5 5c 4S 或 4 上运行时 应用程序会在出现以下代码时崩溃 let delay Int arc4random uniform
  • Junit 断言双数组

    我如何断言两个数组doubles 包含相同的元素 有一些方法可以断言整数数组和其他基本类型包含相同的元素 但不适用于doubles JUnit 4 12 有 实际上它已经是 4 6 的一部分 这是 github 上可用的最旧版本 org j
  • 如何查明特定设备是否支持 SIM 硬件?

    我想根据 SIM 硬件是否存在来禁用我的应用程序中与 CALL 和 SMS 相关的功能 现在 初学者的方法是使用以下命令检查电话类型 if telephonyManager1 getPhoneType TelephonyManager PH