最近遇到需要获取SIM卡状态,发现可以通过两种方式获得
1.android.telephony.TelephonyManager中的getSimState()来获得,
public int getSimState() {
//Do-not-delete-multisim-flag begin
if (SIM_COUNT_CONFIG_MULTISIM) {
if (DEBUG) Log.d(TAG, "@@ getSimState() for linkId: " + getDefaultPSSim());
return getSimStateMSMS(getDefaultPSSim());
}
//Do-not-delete-multisim-flag end
String prop = SystemProperties.get(TelephonyProperties.PROPERTY_SIM_STATE);
if ("ABSENT".equals(prop)) {
return SIM_STATE_ABSENT;
}
else if ("PIN_REQUIRED".equals(prop)) {
return SIM_STATE_PIN_REQUIRED;
}
else if ("PUK_REQUIRED".equals(prop)) {
return SIM_STATE_PUK_REQUIRED;
}
else if ("NETWORK_LOCKED".equals(prop)) {
return SIM_STATE_NETWORK_LOCKED;
}
else if ("READY".equals(prop)) {
return SIM_STATE_READY;
}
else {
return SIM_STATE_UNKNOWN;
}
}
2.通过导入import com.android.internal.telephony.TelephonyProperties和
import android.os.SystemProperties;
来获得SystemProperties.get(TelephonyProperties.PROPERTY_SIM_STATE)的值如果是"READY"即是有卡,"UNKNOW"即无卡
1.android.telephony.TelephonyManager中的getSimState()来获得,
2.通过导入import com.android.internal.telephony.TelephonyProperties和
import android.os.SystemProperties;
来获得SystemProperties.get(TelephonyProperties.PROPERTY_SIM_STATE)的值如果是"READY"即是有卡,"UNKNOW"即无卡