(未完)安卓网络信号强度划分
目录
摘要
结论:
WIFI:按RSSI分为五档。0: (-∞, -88),1: [-88, -77),2: [-77, -66),3: [-66, -55),4: [-55, +∞)
4G:
5G:
WIFI
关键源码:link
|
|
第一个参数就是rssi,整型;第二个参数是分级总级数,在安卓中一共分为0~4,5级,因此第二个参数传入值通常为5。而对于MIN_RSSI
和MAX_RSSI
,在此.java中也给了值:
|
|
结论
不难算出这5档的范围为:
- 0: (-∞, -88)
- 1: [-88, -77)
- 2: [-77, -66)
- 3: [-66, -55)
- 4: [-55, +∞)
信息
对于2.4GHz和5GHz,虽然都使用这同一套划分方法,但是由于距离AP同样距离时,两个频段所得到的rssi值是不一样的。
4G
RSRP
4GLTE的决策变量不再主要是RSSI了,还有另外一个比较重要的物理量RSRP,一些前置知识
源码分析
在SignalStrength.javaline758,getLteLevel()获取了LTE的level
|
|
这个方法源自于CellSignalStrengthLte.javaline230
|
|
这里是直接返回了mLevel
这个全局变量。
在方法setDefaultValues()
中,对它进行了初始化,值为SIGNAL_STRENGTH_NONE_OR_UNKNOWN
,不难发现还有另外一个方法在更新信号的level, updateLevel(PersistableBundle cc, ServiceState ss)
,line275