Android получает уровень сигнала WiFi по мере его изменения

Я хочу получить мощность сигнала сети Wi-Fi, к которой я подключен, по мере ее изменения. Это мой широковещательный приемник

     registerReceiver(new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            int info = Wifi.getConnectionInfo().getRssi();
            textStatus.append("\n\n : " + Integer.toString(info));
        }
    }, new IntentFilter(WifiManager.RSSI_CHANGED_ACTION));

Я получаю это только один раз. Как я могу получить его, когда он изменится?


person user327194    schedule 05.06.2014    source источник
comment
stackoverflow.com/questions/11389492 /   -  person Lavekush Agrawal    schedule 05.06.2014
comment
Я это уже видел, это не дает сил, как меняется   -  person user327194    schedule 05.06.2014


Ответы (1)


Обновление. По результатам тестов в Android 4.4 и 5.0 интервал между последовательными сканированиями WiFi составляет менее секунды. Вы можете посмотреть мою демонстрацию для измерений RF с помощью устройства Android здесь:

https://github.com/panosvas/Measurements

где вы можете найти реализацию измерений WiFi один за другим. Я также создал сервер для хранения этих измерений, а также приложение для удаленного запуска с использованием пакетов UDP, которые вы можете найти здесь:

https://github.com/panosvas/IndoorPositioningServer

На самом деле, вы не можете измерять RSSI каждый раз, когда он изменяется, потому что возможно, что значение RSSI изменяется в течение миллисекунд или даже быстрее, а каждое измерение Wi-Fi в Android занимает примерно 5 секунд, в зависимости от устройства.

Итак, что вы советуете, мои ответы в следующих постах для этого:

Сканер Wi-Fi, который сканирует 20 раз

Как обновить значения RSSI Wi-Fi без нажатия кнопки

person Panos    schedule 27.11.2014