我有一个应用程序,该应用程序根据SignalStrength对象的数据计算RSSI。在LTE网络的Nexus 5(Android 4.4.2)上,ASU级别与“系统设置”中的值不同。因此RSSI也有所不同。
这是应用程序发出的带有Toast消息的屏幕截图:
我正在这样获得ASU:
if (isLte) {
String[] parts = signalStrength.toString().split(" ");
int asu = Byte.parseByte(parts[8]);
}
我应该改用PhoneStateListener的
onCellInfoChanged(List<CellInfo> cellInfo)
吗? (这种方式绝对不能在三星设备上使用。) 最佳答案
答案很简单:“设置”显示的是RSRP,而不是RSSI。 RSRP存储在上面代码中的数组的part [9]中。