2014-02-11 63 views
2

您好我正在開發,根據SIM STATE檢查SIM卡的網絡服務是否可用

我使用1 NO SIM和5 SIM READY

在改變一個按鈕的應用程序少數情況下,我沒有服務,例如,如果SIM卡是國際卡,它不在其他地方工作。什麼是這種情況下的SIM狀態。

請建議如何檢查何時有SIM卡,但沒有服務。謝謝!

回答

5

你好,請你可以試試這個代碼...

參考鏈接:https://stackoverflow.com/a/3982768/900338

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; 
     } 
+1

這僅適用於無SIM卡,但不是在有SIM卡,且沒有服務 – sanjana

+0

這不會告訴sim是否在服務中,只要sim卡在那裏 – ComputerEngineer88