Anu*_*shA 45 android android-wifi
我可以使用以下代码获得以dBm为单位的WiFi信号电平.
for (ScanResult result : wifiScanResultList) {
    int signalLevel = result.level;
}
它给出了负面价值.当我们看到默认的系统WiFi设置并点击连接的WiFi网络时,它会给出"好"或"坏"作为信号强度.我们可以将这些负值过滤为"良好"信号强度或"差"信号强度的范围是多少?
Ala*_*lan 56
它是一个旧帖子,但这可能有助于某人......
WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
int numberOfLevels = 5;
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
int level = WifiManager.calculateSignalLevel(wifiInfo.getRssi(), numberOfLevels);
文档:public static int calculateSignalLevel(int rssi,int numLevels)
ddi*_*ego 20
WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
// Level of a Scan Result
List<ScanResult> 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");
你已经掌握了等级,所以我会告诉你如何将wifi分为高、中或低强度。下面是一段代码
    int level = result.level;
    if (level >= -50) {
        //Best signal
    } else if (level >= -70) {
        //Good signal         
    } else if (level >= -80) {
        //Low signal
    } else if (level >= -100) {
       //Very weak signal
    } else {
       //Too low signal
    }
| 归档时间: | 
 | 
| 查看次数: | 62956 次 | 
| 最近记录: |