- connectedReceiver = new ConnectedReceiver(this, statusView);
- registerReceiver(connectedReceiver, new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION));
+ wifiReceiver = new WifiReceiver(wifiManager, this, statusView, ssid);
+
+ // The order matters!
+ mWifiStateFilter = new IntentFilter(WifiManager.WIFI_STATE_CHANGED_ACTION);
+ mWifiStateFilter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
+ mWifiStateFilter.addAction(WifiManager.SUPPLICANT_STATE_CHANGED_ACTION);
+ mWifiStateFilter.addAction(WifiManager.NETWORK_STATE_CHANGED_ACTION);
+ registerReceiver(wifiReceiver, mWifiStateFilter);
+ receiverRegistered = true;