Question

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.)

Was it helpful?

Solution

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

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top