如何获取手机信号

来源:互联网 发布:java 方法签名是什么 编辑:程序博客网 时间:2024/04/30 00:36
1. 广播监听
IntentFilter mIntentFilter = new IntentFilter();mIntentFilter.addAction(IntentHelper.ECARX_ACTION_TBOX_SIGNAL_CHANGED);mIntentFilter.addAction(IntentHelper.ECARX_ACTION_TBOX_CONNECTION_STATE);Intent intent = mContext.registerReceiver(this, mIntentFilter);


2. 广播处理
@Overridepublic void onReceive(Context context, Intent intent) {final String action = intent.getAction();Log.v(TAG, "updateSignalByIntent-action:[" + action + "]");if (IntentHelper.ECARX_ACTION_TBOX_SIGNAL_CHANGED.equals(action)) { int csq = intent.getIntExtra(IntentHelper.ECARX_EXTRA_TBOX_SIGNAL_CSQ, 0);    if (csq == 0 || csq < TBoxManager.CSQ_SIGNAL_MIN || csq == TBoxManager.CSQ_SIGNAL_NONE || csq == TBoxManager.UNKNOWN_VALUE) {    csq = 0;} else {int level = getLevelFromCSQ(csq);    if (level < 0) {        level = 0;    }    if (level > 4) {        level = 4;    }}//这里的level就是信号强度(0~4)} else if (IntentHelper.ECARX_ACTION_TBOX_CONNECTION_STATE.equals(action)) {    boolean connect = intent.getBooleanExtra(TBoxManager.EXTRA_TBOX_CONNECTION_STATE, false);    if (!connect) {        setPhoneSignalIconId(R.drawable.ecarx_ic_signal_no_signal);        Log.i(TAG, "setPhoneSignalIconId to ecarx_ic_signal_no_signal tbox disconnected");    }}}


                                             
0 0