As in the post you mentioned you should listen for a flag then register your receiver to listen to a data connection then unregister it in onDestroy, Could be done like this:
NetworkStateReceiver:
public class NetworkStateReceiver extends BroadcastReceiver {
protected List<NetworkStateReceiverListener> listeners;
protected Boolean connected;
public NetworkStateReceiver() {
    listeners = new ArrayList<NetworkStateReceiverListener>();
    connected = null;
}
public void onReceive(Context context, Intent intent) {
    if(intent == null || intent.getExtras() == null)
        return;
    ConnectivityManager manager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo ni = manager.getActiveNetworkInfo();
    if(ni != null && ni.getState() == NetworkInfo.State.CONNECTED) {
        connected = true;
    } else if(intent.getBooleanExtra(ConnectivityManager.EXTRA_NO_CONNECTIVITY,Boolean.FALSE)) {
        connected = false;
    }
    notifyStateToAll();
}
private void notifyStateToAll() {
    for(NetworkStateReceiverListener listener : listeners)
        notifyState(listener);
}
private void notifyState(NetworkStateReceiverListener listener) {
    if(connected == null || listener == null)
        return;
    if(connected == true)
        listener.networkAvailable();
    else
        listener.networkUnavailable();
}
public void addListener(NetworkStateReceiverListener l) {
    listeners.add(l);
    notifyState(l);
}
public void removeListener(NetworkStateReceiverListener l) {
    listeners.remove(l);
}
public interface NetworkStateReceiverListener {
    public void networkAvailable();
    public void networkUnavailable();
}
}
First when sending to networksettings screen:
Intent i = new Intent(this,NetworkSettingsActivity.class);
i.putExtra("ACTIVATE_RECEIVER", true);
startActivity(i);
Then when receiving in NetworkSettingsActivity:
public class NetworkSettingsActivity extends Activity{
    NetworkStateReceiver receiver;
    protected void onDestroy() {
        super.onDestroy();
        unregisterReceiver(receiver);
    }
    protected void onCreate(Bundle savedInstanceState){
        if (getIntent().getBooleanExtra("ACTIVATE_RECEIVER", false)){
         receiver = new NetworkStateReceiver();
         receiver.addListener(new NetworkStateReceiver.NetworkStateReceiverListener() {
             @Override
             public void networkAvailable() {
                 //do something
             }
             @Override
             public void networkUnavailable() {
                //do something else
             }
         });
         registerReceiver(receiver, new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION));
     }
    }
}
Hope I could be of any help, Good Luck :)...