首页 > android 网络可用性检测

android 网络可用性检测

所有需要访问网络的activity访问网络前检测网络是否可用,不可用Toast提示。 这是很多访问网络的地方都需要用到的,怎么把这一功能从各个activity统一出来,只写一次?


写个静态的工具方法不久好了么?

public static boolean isNetworkAvalible(Context context) {

    // 获得网络状态管理器
    ConnectivityManager connectivityManager = (ConnectivityManager) context
            .getSystemService(Context.CONNECTIVITY_SERVICE);

    if (connectivityManager == null) {
        return false;
    } else {
        // 建立网络数组
        NetworkInfo[] net_info = connectivityManager.getAllNetworkInfo();

        if (net_info != null) {
            for (int i = 0; i < net_info.length; i++) {
                // 判断获得的网络状态是否是处于连接状态
                if (net_info[i].getState() == NetworkInfo.State.CONNECTED) {
                    return true;
                }
            }
        }
    }
    return false;
}

继承Activity写一个基类,在onCreate里面做判断,之后需要判断网络可用性的Activity去继承这个基类,就不用写那么多代码了。

至于点击操作的提示,按照楼上的写法,写成一个工具类,每次都去判断调用就行了。

【热门文章】
【热门文章】