What's the meaning of Rssi in android WifiManager

I found this in WifiManager.java :

/** Anything worse than or equal to this will show 0 bars. */
private static final int MIN_RSSI = -100;

/** Anything better than or equal to this will show the max bars. */
private static final int MAX_RSSI = -55;

Relevant rssi range on android is betwwen -100 and -55.

There is this static method WifiManager.calculateSignalLevel(rssi,numLevel) that will compute the signal level for you :

int wifiLevel = WifiManager.calculateSignalLevel(rssi,5);

is returning a number between 0 and 4 (i.e. numLevel-1) : the number of bars you see in toolbar.

EDIT API 30+

The static method is now deprecated and you should use the instance method

wifiManager.calculateSignalLevel(rssi)

Major difference is that the number of levels is now given by wifiManager.getMaxSignalLevel()


According to IEEE 802.11 documentation: Lesser negative values denotes higher signal strength.

The range is between -100 to 0 dBm, closer to 0 is higher strength and vice-versa.