I have an app which calculates RSSI from a data of SignalStrength object. On Nexus 5 (Android 4.4.2) in LTE network ASU level differs from the value in System Settings. So RSSI differs too.

Here is a screenshot with Toast message made by the app:

screenshot

I am getting ASU like this:

if (isLte) {
String[] parts = signalStrength.toString().split(" ");
int asu = Byte.parseByte(parts[8]);
}

Should I use PhoneStateListener's onCellInfoChanged(List<CellInfo> cellInfo) instead? (This way will definitely not work on Samsung devices.)

有帮助吗?

解决方案

Well, the answer was easy: Settings displays RSRP, not RSSI. RSRP is stored in parts[9] of the array in the code above.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top