2015-12-15 27 views
3

我要檢查WiFi或移動數據連接(可檢查)上,但能夠訪問互聯網或不如何檢查WiFi或數據連接上,但是互聯網訪問或不

public static boolean isNetworkAvailable(Context context) { 
      ConnectivityManager connectivityManager 
        = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); 
      NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo(); 
      return activeNetworkInfo != null && activeNetworkInfo.isConnected(); 
     } 



    public static boolean isInternetAccessible(Context context) { 
     if (isNetworkAvailable(context)) { 
      try { 
       HttpURLConnection urlc = (HttpURLConnection) (new URL("http://aapapps.com").openConnection()); 
       urlc.setRequestProperty("User-Agent", "Test"); 
       urlc.setRequestProperty("Connection", "close"); 
       urlc.setConnectTimeout(1500); 
       urlc.connect(); 
       return (urlc.getResponseCode() == 200); 
      } catch (IOException e) { 
       Log.e("LOG_TAG", "Couldn't check internet connection", e); 
      } 
     } else { 
      Log.d("LOG_TAG", "Internet not available!"); 
     } 
     return false; 
    } 
+0

你的問題讓我困惑。你想檢查互聯網是否可用? –

+2

[檢測Android上是否有可用的Internet連接]可能的重複(http://stackoverflow.com/questions/4238921/detect-whether-there-is-an-internet-connection-available-on-android) –

+0

我想檢查互聯網是否可以訪問,如果移動或數據連接在 –

回答

3

試其工作代碼

public boolean isConnectingToInternet(){ 
ConnectivityManager connectivity = (ConnectivityManager) _context.getSystemService(Context.CONNECTIVITY_SERVICE); 
    if (connectivity != null) 
    { 
     NetworkInfo[] info = connectivity.getAllNetworkInfo(); 
     if (info != null) 
      for (int i = 0; i < info.length; i++) 
       if (info[i].getState() == NetworkInfo.State.CONNECTED) 
       { 
        return true; 
       } 

    } 
    return false; 
} 
+0

它將如何回答上述問題?如果wifi連接,但沒有互聯網可用!在數據的情況下也是如此。 –

0

請檢查以下代碼,並且您必須在清單文件中添加Internet訪問權限。如果isInternetConnectionAvailable()返回true,那麼您的設備可以訪問互聯網,否則它不能連接到互聯網。

<uses-permission android:name="android.permission.INTERNET" /> 

public boolean isInternetConnectionAvailable() { 
    ConnectivityManager connectivity = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE); 
    if (connectivity != null) { 
     NetworkInfo networkInfo = connectivity.getActiveNetworkInfo();//active network information 
     if (networkInfo != null) { 
      return networkInfo.isConnected(); 
     } 
    } 
    return false; 
} 

如果您需要所有網絡信息,請使用以下代碼。

NetworkInfo[] info = connectivity.getAllNetworkInfo(); 
0

如果設備通過WiFi或移動數據連接檢查後,爲什麼不只是谷歌平或有一個被持續提供最大機會的任何其他Web應用程序?

如果您收到有效回覆,可以訪問互聯網。