2015-12-15 84 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应用程序?

如果您收到有效回复,可以访问互联网。