android 网络可用性检测


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

Android

纪元1404 9 years, 7 months ago

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

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

幽霊SAMA answered 9 years, 7 months ago

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

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;
}

dkksjj answered 9 years, 7 months ago

Your Answer