Android P 移动网络系统架构--ServiceStateTracker
获取手机信号 网络信号强度的单位是dBm(毫瓦分贝),一般用负数表示。 2G,3G,4G获得信号强度的方式都是重写PhoneStateListener的onSignalStrengthsChanged() 方法,当信号强度发生改变的时候就会触发这个事件,我们可以在这个事件里获取信号强度 APP通过注册监听 PhoneStateListener.LISTEN_SIGNAL_STRENGTHS TelephonyManager mr = Context.getSystemService(Context.TELEPHONY_SERVICE); mr.listen(new MyPhoneStateListener(), PhoneStateListener.LISTEN_SIGNAL_STRENGTHS); private class MyPhoneStateListener extends PhoneStateListener { private int asu = 0,lastSignal = 0; @Override public void onSignalStrengthsChanged(SignalStrength signalStrength) { super.onSignalStrengthsChanged(signalStrength); } }