我试图使用Wifimanager来计算在扫描期间找到的接入点的信号电平。WifiManager.calculateSignalLevel问题(RSSI,5)
我使用下面的方法:
WifiManager.calculateSignalLevel(int, int)
但它似乎总是返回相同的INT无论RSSI水平是什么。
这是我的代码:
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));
}
测井输出1对于所有的测试案例calculateQoS(INT)。
我在这里错过了一些简单的东西吗?为什么SignalLevel总是1?
谢谢你这个答案特别是对于实施的代码。根据引用问题(它仍然是今天开放的),所有numLevels超过45的值都会导致除以零。 – Ridcully 2011-02-26 14:31:30