gpt4 book ai didi

android - 如何检查 SIM 卡是否处于 Activity 状态?

转载 作者:行者123 更新时间:2023-12-04 23:51:15 26 4
gpt4 key购买 nike

我有一个用例,我需要检查设备中的 SIM 卡是否处于 Activity 状态。在旧设备中,我可以使用 TelephonyManager 获取 SIM 状态并检查它是否为 SIM_STATE_READY。问题在于 API 22 及更高版本。

使用 SubscriptionManager,当我调用 getActiveSubscriptionInfoList 时,它会向我发送有关现有 SIM 卡的详细信息,即使我已将它们关闭。我浏览了 SubscriptionManager 的文档,但找不到类似的方法来检查 SIM 的状态。在 API 22 以上使用 TelephonyManager 仅提供有关默认 SIM 卡的信息,我想了解双 SIM 卡手机中的两个插槽。另外,我在 TelephonyManager 中发现了 getSimState 的重载变体,它确实接受插槽作为参数,但它是在 API 26 中引入的。我想要一个也可以在 API 22-25 中工作的解决方案。

有没有办法可以识别出即使 SIM 卡存在于设备中,它也没有激活?

最佳答案

如果设备是双卡,你可以这样检查

    SubscriptionManager sManager = (SubscriptionManager) context.getSystemService(Context.TELEPHONY_SUBSCRIPTION_SERVICE);
SubscriptionInfo infoSim1 = sManager.getActiveSubscriptionInfoForSimSlotIndex(0);
SubscriptionInfo infoSim2 = sManager.getActiveSubscriptionInfoForSimSlotIndex(1);
int count = 0;
if (infoSim1 != null ) {
count++;
}
if (infoSim2 != null){
count++;
}

计数决定有多少模拟人生是活跃的。



你可以得到计数然后一一检查
sManager.getActiveSubscriptionInfoCount()

希望它的工作。

关于android - 如何检查 SIM 卡是否处于 Activity 状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54824436/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com