Android: Jak monitorować siłę sygnału WiFi
Otrzymywałbym powiadomienia, gdy zmienia się siła sygnału. Próbowałem utworzyć następującą metodę i wywołać ją w onCreate ():
private void initializeWiFiListener(){
Log.i(TAG, "executing initializeWiFiListener");
String connectivity_context = Context.WIFI_SERVICE;
final WifiManager wifi = (WifiManager)getSystemService(connectivity_context);
if(!wifi.isWifiEnabled()){
if(wifi.getWifiState() != WifiManager.WIFI_STATE_ENABLING){
wifi.setWifiEnabled(true);
}
}
registerReceiver(new BroadcastReceiver(){
@Override
public void onReceive(Context context, Intent intent) {
WifiInfo info = wifi.getConnectionInfo();
//TODO: implement methods for action handling
}
}, new IntentFilter(WifiManager.RSSI_CHANGED_ACTION));
}
Byłbym wdzięczny, gdyby ktoś mógł sprawdzić, czy metoda została napisana poprawnie. Próbowałem uruchomić aplikację, ale nie otrzymałem żadnych powiadomień i nie jestem pewien, czy jest tak, ponieważ siła sygnału może być stała w miejscu, w którym uruchamiam debugowanie, lub dlatego, że czegoś brakuje.
Dzięki!