getConnectionInfo()和getScanResults()之间的区别,用于检测信号强度的变化
我正在尝试检测wifi连接中的信号强度变化。我对我应该在BroadcastReceiver中使用哪种方法感到困惑。使用getConnectionInfo()和getScanResults()之间有什么区别 - 然后我可以使用相关方法来获取rssi值?
例如:如果我使用getConnectionInfo(),那么稍后我会使用getRssi()。或者我可以使用getScanResults()和“level”属性。
我使用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;
}
}
没有找到相关结果
已邀请:
2 个回复
郡豪靠暖
艾食魄轻县
时才使用
。扫描是异步的,在完成时发送
广播。并且,扫描结果将用于扫描找到的任何接入点,如果您连接到任何接入点,则可能包括您连接的接入点以外的接入点。