gpt4 book ai didi

android - WifiManager.calculateSignalLevel(RSSI, 5) 问题

转载 作者:太空宇宙 更新时间:2023-11-03 11:30:35 25 4
gpt4 key购买 nike

我正在尝试使用 Wifimanager 来计算扫描期间发现的接入点的信号级别。

我正在使用以下方法:

WifiManager.calculateSignalLevel(int, int)

但无论 RSSI 级别如何,它似乎总是返回相同的 int。

这是我的代码:


public int calculateQoS(int aRSSI){

signalLevel = WifiManager.calculateSignalLevel(RSSI, 5);

return signalLevel;

}

public void testCalculateQoS(){

Log.d("signal", "signal = : "
+ connMonitor.calculateQoS(-44)
+ " " + connMonitor.calculateQoS(-80)
+ " " + connMonitor.calculateQoS(-120)
+ " " + connMonitor.calculateQoS(-20));

}

calculateQoS(int) 的所有测试用例的日志记录输出 1。

我是不是漏掉了一些简单的东西?为什么 SignalLevel 总是 1?

最佳答案

calculateSignalLevel 好像是这样实现的:

public static int calculateSignalLevel(int rssi, int numLevels) {
if (rssi <= MIN_RSSI) {
return 0;
} else if (rssi >= MAX_RSSI) {
return numLevels - 1;
} else {
int partitionSize = (MAX_RSSI - MIN_RSSI) / (numLevels - 1);
return (rssi - MIN_RSSI) / partitionSize;
}
}

也许这段代码可以解释您的问题。另请注意:

http://code.google.com/p/android/issues/detail?id=2555

关于android - WifiManager.calculateSignalLevel(RSSI, 5) 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2873469/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com