Android检测网络状态,判断当前网络是否可用

用户手机当前网络可用:WIFI、2G/3G网络,用户打开与不打开网络,和是否可以用是两码事。可以使用指的是:用户打开网络了并且可以连上互联网进行上网。

检测当前网络是否可用,代码如下:

/**
     * 检测当的网络(WLAN、3G/2G)状态
     * @param context Context
     * @return true 表示网络可用
     */
    public static boolean isNetworkAvailable(Context context) {
        ConnectivityManager connectivity = (ConnectivityManager) context
                .getSystemService(Context.CONNECTIVITY_SERVICE);
        if (connectivity != null) {
            NetworkInfo info = connectivity.getActiveNetworkInfo();
            if (info != null && info.isConnected()) 
            {
                // 当前网络是连接的
                if (info.getState() == NetworkInfo.State.CONNECTED) 
                {
                    // 当前所连接的网络可用
                    return true;
                }
            }
        }
        return false;
    }

在AndroidManifest.xml文件添加的权限:

  <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
  <uses-permission android:name="android.permission.INTERNET"/>

http://blog.csdn.net/android_ls/article/details/8605991

posted @ 2014-10-11 09:36  天王星天  阅读(508)  评论(0编辑  收藏  举报