Я пытаюсь обнаружить изменения уровня сигнала в Wi-Fi-соединении. Я не понимаю, какой метод мне следует использовать в моем BroadcastReceiver. В чем разница между использованием getConnectionInfo () и getScanResults () - из чего я могу использовать соответствующий метод для получения значения rssi?
Например: если я использую getConnectionInfo (), то позже я использую getRssi (). Или я мог бы использовать getScanResults () и свойство level.
Я отображаю их значения с помощью Toast, и они не всегда показывают одинаковые значения. Когда соединение Wi-Fi потеряно, 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;
}
}