看了网上的很多,都不是自己想要的。所以自己就参考着写了一个。
实现这个的方法很多,我是想的这种,如果哪有不足,有bug的地方希望大家指出,共同进步。。。。
先简单说一下思路:网络变化时系统会发出广播。所以我们监听这个广播,利用接口回调通知activity做相应的操作就好了。。
步骤:
1、写个判断网络的工具类.
2、先写个类继承BroadcastReceiver。(不要忘记在清单文件中注册)
(谢谢ITzxl的提醒)需要在清单文件中添加权限<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
3、写个回调接口
4、BaseActivity实现这个接口
- /**
- *
- * @author cj 判断网络工具类
- *
- */
- public class NetUtil {
- /**
- * 没有连接网络
- */
- private static final int NETWORK_NONE = -1;
- /**
- * 移动网络
- */
- private static final int NETWORK_MOBILE = 0;
- /**
- * 无线网络
- */
- private static final int NETWORK_WIFI = 1;
- public static int getNetWorkState(Context context) {
- // 得到连接管理器对象
- ConnectivityManager connectivityManager = (ConnectivityManager) context
- .getSystemService(Context.CONNECTIVITY_SERVICE);