Постоянно мониторить дБм WIFI на андроид

Мне нужен способ постоянно контролировать дБм сигнала Wi-Fi, к которому подключено устройство, и отправлять каждое изменение через веб-сокет на сервер.

То, что у меня сейчас есть, примерно так;

private static class ConnectionStateMonitor extends ConnectivityManager.NetworkCallback {

    final NetworkRequest networkRequest;
    WebSocket webSocket;

    public ConnectionStateMonitor(WebSocket webSocket) {
        networkRequest = new NetworkRequest.Builder().addTransportType(NetworkCapabilities.TRANSPORT_CELLULAR).addTransportType(NetworkCapabilities.TRANSPORT_WIFI).build();
        this.webSocket = webSocket;
    }

    public void enable(Context context) {
        ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
        connectivityManager.registerNetworkCallback(networkRequest , this);
    }

    // Likewise, you can have a disable method that simply calls ConnectivityManager#unregisterCallback(networkRequest) too.

    @Override
    public void onCapabilitiesChanged(Network network, NetworkCapabilities networkCapabilities) {

    }
}

Я передаю открытую веб-розетку в конструктор и из того, что я прочитал, я могу получить доступ к изменениям мощности сигнала Wi-Fi в методе "on CapabilitiesChanged", где я запускаю метод send моего веб-сокета для отправки дБм. Но я не могу понять, как я могу получить здесь дБм...

Кто-нибудь?

0 ответов

Другие вопросы по тегам