//声明接口 public interface INetwork { void onChange(int netType); void onWeakNet(long delay); }
//网络改变检测 import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.net.ConnectivityManager; import android.net.NetworkInfo; import android.support.annotation.RequiresPermission; import com.anber.websocket.LogUtils; public class NetworkMonitor extends BroadcastReceiver { private static final String LOGTAG = "NetworkChangedReceiver"; private INetwork mNetwork; public static NetworkMonitor register(Context context, INetwork network) { NetworkMonitor networkChangedReceiver = new NetworkMonitor(network); IntentFilter filter = new IntentFilter(); filter.addAction("android.net.conn.CONNECTIVITY_CHANGE"); filter.addAction("android.net.wifi.WIFI_STATE_CHANGED"); filter.addAction("android.net.wifi.STATE_CHANGE"); context.registerReceiver(networkChangedReceiver, filter); return networkChangedReceiver; } public static void unregister(Context context, NetworkMonitor monitor) { if (monitor == null) { return; } context.unregisterRec