当网络设置发生变化时,需侦听相应的广播并做处理,代码如下:
public class NetworkUtil {
public static final int NETWORK_TYPE_NONE = 0;
public static final int NETWORK_TYPE_NULL = 1;
public static final int NETWORK_TYPE_ETHERNET_ONLINE = 2;
public static final int NETWORK_TYPE_ETHERNET_OFFLINE = 3;
public static final int NETWORK_TYPE_MOBILE_ONLINE = 4;
public static final int NETWORK_TYPE_MOBILE_OFFLINE = 5;
pubic void register() {
IntentFilter filter = new IntentFilter();
filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
registerReceiver(new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
Log.d(TAG, "[network onReceive] action is " + intent.getAction());
if (intent.getAction().equals(ConnectivityManager.CONNECTIVITY_ACTION)) {
networkChange(context);
}
}
}, filter);
}
/**
* 检测网络状态
*