原文地址:http://blog.csdn.net/hejie322/article/details/8786402
http://blog.csdn.net/android_ls/article/details/8605991
用户手机当前网络可用: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"/>