Friday, 6 September 2013

BroadcastReceiver not firing for network connection changes

BroadcastReceiver not firing for network connection changes

I'm trying to listen for changes in network connectivity. My broadcast
receiver doesn't seem to be firing when I switch in or out of airplane
mode. I'm not sure if this is because I don't have it registered correctly
or if maybe airplane mode changes don't cause this to fire. Any advice is
appreciated. Thanks!
My manifest:
<receiver android:name=".NetworkReceiver" >
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
</intent-filter>
</receiver>
My broadcast receiver class:
public class NetworkReceiver extends BroadcastReceiver {
private SharedPreferences prefs;
private SharedPreferences.Editor prefEditor;
@Override
public void onReceive(Context context, Intent intent) {
prefs = PreferenceManager.getDefaultSharedPreferences(context);
prefEditor = prefs.edit();
Boolean has_connection = prefs.getBoolean("has_connection", false);
prefEditor.putBoolean("has_connection", !has_connection);
prefEditor.commit();
System.err.println("Network Receiver notified of a connectivity
change!");
System.err.println("New has_connection: " + !has_connection);
}
}

No comments:

Post a Comment