android - 为什么某些 Android 11 设备的 getActiveSubscriptionInfoList 变空了?

标签 android telephonymanager android-subscriptionmanager

我需要找出设备 SIM 卡是否存在(包括 duel sim 设备)。所以我尝试了订阅管理器 getActiveSubscriptionInfoList API,但对于某些 android 11 设备它返回空。

信息:

  • 插槽 1 有 SIM 卡
  • 插槽 2 没有 SIM 卡
  • 设备操作系统版本:Android 11
  • 设备型号名称:RMX3085realme
  • 网络提供商 Jio 预付

最佳答案

SubscriptionManager#getActiveSubscriptionInfoList() 返回运营商应用程序提供的订阅列表。如果没有运营商应用成功通知 Android 可用订阅,则无论是否有 SIM 卡,这都将返回空。

TelephonyManager#getSimState()( link ) 是您想要使用的,如果您只想检查 SIM 卡是否存在,如您所述。只要 TelephonyManager#getSimState() 不返回 SIM_STATE_ABSENT( link ),就表示存在 SIM 卡。

关于android - 为什么某些 Android 11 设备的 getActiveSubscriptionInfoList 变空了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70031600/

相关文章:

java - 如何在 genymotion 上运行客户端服务器?

android - Android 电话堆栈中的不同调用状态代表什么?

android - SubscriptionManager.from() 已弃用

android - 这是什么意思?添加 'tools:replace="安卓 :appComponentFactory"' to <application> element

java - FirebaseListAdapter 不为聊天应用程序推送单个项目 - Firebase-Ui 3.1

android - wifi 直接结束连接到 Android 上的对等体?

Android 2.3.4 电话管理器

java - 如何设置拨出电话延迟

java - 如何以编程方式获取我的设备的手机号码?