Как мне в реальном времени реализовать уровень сигнала трех точек доступа WiFi? - PullRequest
1 голос
/ 19 марта 2011

У меня возникают проблемы с получением измерений RSSI в режиме реального времени без подключения к определенной сети, т. Е. Я использую wifiManager.getScanResults (); чтобы увидеть значения RSSI каждой достижимой точки доступа, но я понятия не имею, как это сделать с помощью ScanResults! Есть ли другой способ выполнить измерение RSSI и обновить его? Я не вижу, как это сделать, используя WifiManager.RSSI_CHANGED_ACTION в приемнике вещания, так как этот метод даст мне обновление RSSI, только если я подключен к определенной сети, не так ли?

По сути, я хочу обновить RSS 3 AP одновременно, что-то вроде этого:

UPDATE_RSSI <- AP1 <br> UPDATE_RSSI <- AP2 <br> UPDATE_RSSI <- AP3 </p>

1 Ответ

0 голосов
/ 19 марта 2011

В прошлом я пытался немного поработать с Wi-Fi, но я не уверен, будет ли эта информация полностью полезной для ваших конкретных нужд.

Этот небольшой бит регистрирует получателя, и вы можетеСкажите wifiManager.startScan (), чтобы запустить сканирование:

IntentFilter filter = new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION);
registerReceiver(wifiReceiver, filter);
wifiManager.startScan();

Тогда в глобальной области вашей деятельности вам нужно будет объявить получателя wifiReceiver

private final BroadcastReceiver wifiReceiver = new BroadcastReceiver()
{
  @Override
  public void onReceive(Context ctx, Intent intent)
  {
      List<ScanResult> results = wifi.getScanResults();
          ....
   }
}

ScanResult содержит несколько битов информации, таких как level , что, как я думаю, вы пытаетесь измерить.

Помогает ли эта информация?

...