Постоянно мониторить дБм 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 моего веб-сокета для отправки дБм. Но я не могу понять, как я могу получить здесь дБм...
Кто-нибудь?