Android 如何检查WiFi或数据连接是否打开,但是否可以访问互联网

Android 如何检查WiFi或数据连接是否打开,但是否可以访问互联网,android,Android,我想检查WiFi或移动数据连接是否(能够检查),但是否能够访问互联网 public static boolean isNetworkAvailable(Context context) { ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);

我想检查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;
    }
试试它的工作代码

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;
}
public boolean连接到互联网(){
ConnectivityManager connectivity=(ConnectivityManager)_context.getSystemService(context.connectivity_SERVICE);
if(连接性!=null)
{
NetworkInfo[]info=connectivity.getAllNetworkInfo();
如果(信息!=null)
对于(int i=0;i
检查以下代码,您必须在清单文件中添加internet访问权限。如果isInternetConnectionAvailable()返回true,则您的设备可以访问internet,否则它无法连接到internet

<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;
}

在检查设备是否通过WiFi或移动数据连接后,为什么不直接ping Google或任何其他有最大机会持续可用的web应用程序


如果你得到了有效的答复,就可以上网。

你的问题把我弄糊涂了。你想检查互联网是否可用?可能重复我想检查互联网是否可访问如果移动或数据连接是关于如何回答上述问题?如果已连接wifi,但没有可用的internet!数据的情况也一样。
<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;
}