I can get WiFi signal level in dBm using following code.
for (ScanResult result : wifiScanResultList) { int signalLevel = result.level; }
It gives negative value. When we see the default system WiFi setting and clicked on the connected WiFi network, it gives "Good" or "Bad" as signal strength. What is the range that we can filter those negative vales as "Good" signal strength or "Bad" signal strength?
For Android users, Wi-Fi Analyzer is a step easier. Open the app and look for the networks found. Each entry will list strength as dBm. Windows 10 and 11 don't have a built-in way to view precise signal strength, although the netsh wlan show interface command gives you your signal strength as a percentage.
Use a Smartphone or TabletLook under a Settings, Wi-Fi, or Network menu. For example, in the settings on a Google Pixel with Android 10, select Network & internet, select the Wi-Fi you're using, and then select the gear icon next to the network you're connected to. There you can see the signal strength.
Your phone could have connected to a weaker guest network or public Wi-Fi in range. Try the 2.4GHz connection if available rather than the 5GHz. 5GHz, while faster, won't travel as far and will often have 5G at the end of the name. Delete the connection then reconnect.
its an old post but this might help someone...
WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); int numberOfLevels = 5; WifiInfo wifiInfo = wifiManager.getConnectionInfo(); int level = WifiManager.calculateSignalLevel(wifiInfo.getRssi(), numberOfLevels);
Documentation: public static int calculateSignalLevel (int rssi, int numLevels)
Please check how dBm values for received Wireless Signal power are represented.
Excellent >-50 dBm
Good -50 to -60 dBm
Fair -60 to -70 dBm
Weak < -70 dBm
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With