Getting WiFi signal strength in Android

后端 未结 5 651
别那么骄傲
别那么骄傲 2020-11-29 21:35

I can get WiFi signal level in dBm using following code.

for (ScanResult result : wifiScanResultList) {
    int signalLevel = result.level;
}
5条回答
  •  时光说笑
    2020-11-29 22:15

    WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
    
    // Level of a Scan Result
    List wifiList = wifiManager.getScanResults();
    for (ScanResult scanResult : wifiList) {
      int level = WifiManager.calculateSignalLevel(scanResult.level, 5);
      System.out.println("Level is " + level + " out of 5");
    }
    
    // Level of current connection
    int rssi = wifiManager.getConnectionInfo().getRssi();
    int level = WifiManager.calculateSignalLevel(rssi, 5);
    System.out.println("Level is " + level + " out of 5");
    

提交回复
热议问题