Android - 判斷SIM卡狀態
Android判斷SIM卡狀態, 是否插入SIM卡.
例如: 根據SIM判斷優先使用的網路類型.
SIM卡狀態
/** * 判斷是否包含SIM卡 * * @return 狀態 */ public static boolean hasSimCard() { Context context = App.getAppContext(); TelephonyManager telMgr = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE); int simState = telMgr.getSimState(); boolean result = true; switch (simState) { case TelephonyManager.SIM_STATE_ABSENT: result = false; // 沒有SIM卡 break; case TelephonyManager.SIM_STATE_UNKNOWN: result = false; break; } Log.d(TAG, result ? 有SIM卡 : 無SIM卡); return result; }
全部狀態
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; }