我正在開發基本上取決於SIM卡狀態的Android自動啓動應用程序。當我的應用程序自動啓動時,我需要它來檢查SIM卡的更改位置。之後,我通過獲取共享偏好將當前SIM與過去SIM相比較。但是,獲取新SIM卡的值時,該應用程序返回空指針異常。Android電話管理器檢測SIM卡
我想對sim狀態做出反應。
當我收到SIM_STATE_READY
狀態時,我想從電話管理器獲取新的SIM狀態。
telMgr = (TelephonyManager)getSystemService(TELEPHONY_SERVICE);
int simState = telMgr.getSimState();
switch (simState)
{
case (TelephonyManager.SIM_STATE_ABSENT):
System.out.println("*******************************************Sim State absent******************************");
break;
case (TelephonyManager.SIM_STATE_NETWORK_LOCKED):
System.out.println("*******************************************SIM_STATE_NETWORK_LOCKED******************************"+sim);
break;
case (TelephonyManager.SIM_STATE_PIN_REQUIRED):
System.out.println("*******************************************SIM_STATE_PIN_REQUIRED******************************"+sim);
break;
case (TelephonyManager.SIM_STATE_PUK_REQUIRED):
System.out.println("*******************************************SIM_STATE_PUK_REQUIRED******************************"+sim);
break;
case (TelephonyManager.SIM_STATE_UNKNOWN):
System.out.println("*******************************************SIM_STATE_UNKNOWN******************************"+sim);
break;
case (TelephonyManager.SIM_STATE_READY):
{
}
break;
}
default: break;
}
我這樣做,但不知道如何監聽SIM我想狀態時,SIM卡已準備好,這樣我就可以執行一些代碼。當設備啓動時,它總是返回「SIM_STATE_UNKNOWN」並導致程序執行完成。
請幫我實現這一點。
您好..我沒有任何問題,同時獲得SIM卡沒有..我想在SIM卡狀態的反應.. – 2011-02-08 14:00:58