我需要找出设备 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/