I have an activity that displays some data received from the server. If there is no connection, activity displays some cached data; if a connection is available, the activity retrieves the data and displays it. Everything works as expected. Now I want my activity to reload data as soon as the connection occurs. I use a simple receiver that extends BroadcastReceiver:
public class ConnectionChangeReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
ConnectivityManager connectivityManager = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetInfo = connectivityManager.getActiveNetworkInfo();
if (activeNetInfo != null) {
}
}
}
The broadcast receiver is declared in my manifest file as follows:
<receiver android:name=".ConnectionChangeReceiver"
android:label="NetworkConnection">
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE"/>
</intent-filter>
</receiver>
In my activity, I register a receiver:
ConnectionChangeReceiver receiver = new ConnectionChangeReceiver (); this.registerReceiver (receiver, new IntentFilter (ConnectivityManager.CONNECTIVITY_ACTION));
, . onReceive, ? , , , . ConnectionChangeReceiver ? ?