public class MainActivity extends AppCompatActivity {
private NetworkChangeReceiver networkChangeReceiver;
private IntentFilter intentFilter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_another);
networkChangeReceiver = new NetworkChangeReceiver();
//过滤出系统网络变化的ACTION
intentFilter = new IntentFilter("android.net.conn.CONNECTIVITY_CHANGE");
//动态注册广播接收器
registerReceiver(networkChangeReceiver,intentFilter);
}
@Override
protected void onDestroy() {
super.onDestroy();
//活动销毁时解除注册广播
unregisterReceiver(networkChangeReceiver);
}
class NetworkChangeReceiver extends BroadcastReceiver {
public NetworkChangeReceiver() {
}
@Override
public void onReceive(Context context, Intent intent) {
//获取ConnectivityManager的对象,以便获取系统网络状态
ConnectivityManager connectivityManager = (ConnectivityManager)
getSystemService(Context.CONNECTIVITY_SERVICE);
//调用isAvailable(),获取网络状态
NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
if (activeNetworkInfo != null && activeNetworkInfo.isAvailable()) {
Toast.makeText(context, "Network is available", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(context, "Network is unavailable", Toast.LENGTH_SHORT).show();
}
}
}
}