Android 检查sim卡网络服务是否可用

Android 检查sim卡网络服务是否可用,android,telephonymanager,phone-state-listener,Android,Telephonymanager,Phone State Listener,您好,我正在开发一个应用程序,根据SIM卡状态更改按钮 我使用1表示无SIM卡,5表示SIM卡就绪 在少数情况下,我没有服务,例如,如果SIM卡是国际卡,它在其他地方不工作。这种情况的SIM卡状态是什么 请建议如何检查是否有SIM卡但没有服务。谢谢 你好,你能试试这个代码吗 参考链接: 这仅适用于没有sim卡的情况,但不适用于有sim卡且没有服务的情况。这不会告诉您sim卡是否在服务中,只会告诉您sim卡是否在服务中 TelephonyManager telMgr = (TelephonyMan

您好,我正在开发一个应用程序,根据SIM卡状态更改按钮

我使用1表示无SIM卡,5表示SIM卡就绪

在少数情况下,我没有服务,例如,如果SIM卡是国际卡,它在其他地方不工作。这种情况的SIM卡状态是什么


请建议如何检查是否有SIM卡但没有服务。谢谢

你好,你能试试这个代码吗

参考链接:


这仅适用于没有sim卡的情况,但不适用于有sim卡且没有服务的情况。这不会告诉您sim卡是否在服务中,只会告诉您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;
        }