Anu*_*shA 45 android android-wifi
我可以使用以下代码获得以dBm为单位的WiFi信号电平.
for (ScanResult result : wifiScanResultList) {
int signalLevel = result.level;
}
Run Code Online (Sandbox Code Playgroud)
它给出了负面价值.当我们看到默认的系统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);
Run Code Online (Sandbox Code Playgroud)
文档: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");
Run Code Online (Sandbox Code Playgroud)
你已经掌握了等级,所以我会告诉你如何将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
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
62956 次 |
最近记录: |