用戶手機當前網絡可用: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"/>