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

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。