1、监听4G信号状态广播
IntentFilter filter = new IntentFilter();
filter.addAction(TelephonyIntents.ACTION_SIM_STATE_CHANGED);
registerReceiver(EReceiver, filter);
2、在广播中处理
private EBroadcastReceiver EReceiver = new EBroadcastReceiver();
private class EcarBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (null != intent) {
String action = intent.getAction();
if(action.equals(TelephonyIntents.ACTION_SIM_STATE_CHANGED)){
TelephonyManager tm = (TelephonyManager) context.getSystemService(Service.TELEPHONY_SERVICE);
int state = tm.getSimState();
Log.w(TAG,"simState = " + state);
int simState = -1;
switch (state) {
case TelephonyManager.SIM_STATE_READY:
//处理逻辑
break;
case TelephonyManager.SIM_STATE_UNKNOWN:
case TelephonyManager.SIM_STATE_ABSENT:
//处理逻辑
break;
case TelephonyManager.SIM_STATE_PIN_REQUIRED:
case TelephonyManager.SIM_STATE_PUK_REQUIRED:
case TelephonyManager.SIM_STATE_NETWORK_LOCKED:
default:
break;
}
}
}
}
}