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

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

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

  1. /** 
  2.      * 检测当的网络(WLAN、3G/2G)状态 
  3.      * @param context Context 
  4.      * @return true 表示网络可用 
  5.      */  
  6.     public static boolean isNetworkAvailable(Context context) {  
  7.         ConnectivityManager connectivity = (ConnectivityManager) context  
  8.                 .getSystemService(Context.CONNECTIVITY_SERVICE);  
  9.         if (connectivity != null) {  
  10.             NetworkInfo info = connectivity.getActiveNetworkInfo();  
  11.             if (info != null && info.isConnected())   
  12.             {  
  13.                 // 当前网络是连接的  
  14.                 if (info.getState() == NetworkInfo.State.CONNECTED)   
  15.                 {  
  16.                     // 当前所连接的网络可用  
  17.                     return true;  
  18.                 }  
  19.             }  
  20.         }  
  21.         return false;  
  22.     } 

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

    1. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>  
    2. <uses-permission android:name="android.permission.INTERNET"/> 
原文地址:https://www.cnblogs.com/Free-Thinker/p/6676580.html