我正在尝试检测 wifi 连接中的信号强度变化。我对应该在我的 BroadcastReceiver 中使用哪种方法感到困惑。使用 getConnectionInfo() 和 getScanResults() 有什么区别 - 然后我可以使用相关方法获取 rssi 值?
例如:如果我使用 getConnectionInfo(),那么稍后我会使用 getRssi()。或者我可以使用 getScanResults() 和“级别”属性。
我使用 Toast 显示它们的值,但它并不总是显示相同的值。当 wifi conn 丢失时,getConnectionInfo().getRssi() 显示 -200,而 result.level 仍然显示其先前的值。
有什么想法吗?谢谢!
String netSSID = wifi.wifiMgr.getConnectionInfo().getSSID();
int netRSSI = wifi.wifiMgr.getConnectionInfo().getRssi();
List<ScanResult> results = wifi.wifiMgr.getScanResults();
for (ScanResult result : results) {
if (result.SSID.equalsIgnoreCase(netSSID)) {
anothernetRSSI = result.level;
}
}