Android檢測網路狀態,判斷當前網路是否可用

dingcheng998發表於2016-11-17

使用者手機當前網路可用:WIFI、2G/3G網路,使用者開啟與不開啟網路,和是否可以用是兩碼事。可以使用指的是:使用者開啟網路了並且可以連上網際網路進行上網。
檢測當前網路是否可用,程式碼如下:

[java] view plain copy
  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檔案新增的許可權:

[html] view plain copy
  1. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>  
  2. <uses-permission android:name="android.permission.INTERNET"/>  

相關文章