package com.bjlytr.fvr.utils; import android.content.Context; import android.net.ConnectivityManager; import android.net.NetworkInfo; import com.bjlytr.fvr.app.App; /** * ================================================ * * @author :Vip * @version :V 1.0.0 * @date :2019/7/22 10:45 * 描 述:网络状态工具类 * 修订历史: * ================================================ */ public class NetUtil { /** * 没有连接网络 */ private static final int NETWORK_NONE = -1; /** * 移动网络 */ private static final int NETWORK_MOBILE = 0; /** * 无线网络 */ private static final int NETWORK_WIFI = 1; /** * 宽带网线 **/ private static final int NETWORK_ETHERNET = 9; /** * 获取网络状态 * 返回-1为不可用状态 其他为可用 */ public static int getNetWorkState(Context context) { if (context == null) { context = App.getInstance(); } // 得到连接管理器对象 ConnectivityManager connectivityManager = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo activeNetworkInfo = connectivityManager .getActiveNetworkInfo(); if (activeNetworkInfo != null && activeNetworkInfo.isConnected()) { if (activeNetworkInfo.getType() == (ConnectivityManager.TYPE_WIFI)) { return NETWORK_WIFI; } else if (activeNetworkInfo.getType() == (ConnectivityManager.TYPE_MOBILE)) { return NETWORK_MOBILE; } else if (activeNetworkInfo.getType() == (ConnectivityManager.TYPE_ETHERNET)) { return NETWORK_ETHERNET; } } else { return NETWORK_NONE; } return NETWORK_NONE; } }
应用于设备平板上比较试用。可以在页面切换的生命周期onResume里 调用。没做广播监听除了,个人觉得这样就够用了。 无线/网线/移动网络/离线