在android中检查互联网连接的最佳方法

时间:2015-11-05 10:24:01

标签: android network-programming

我想在设备连接到网络但是没有互联网连接时检查互联网连接。 我想知道检查这个

的最佳方法是什么

我问了这个问题,因为没有找到任何接受的答案就是这样。 这里有一些重复的问题,但没有一个接受的答案:

Java: Internet connectivity check via ping to google not working

Check for Active internet connection Android

还有两个已经接受答案的问题,答案不正常:

Android check internet connection

Test Internet Connection Android

2 个答案:

答案 0 :(得分:1)

ConnectivityManager cm =
        (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);

NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
boolean isConnected = activeNetwork != null &&
                      activeNetwork.isConnectedOrConnecting();

通过这种方式,您可以确定您是否可以访问互联网 - 无需使用ping请求或其他类似内容。

答案 1 :(得分:-2)

Use the below class to check whether internet is available or not.

供参考:click here to check the example

ConnectionDetector.Java

import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;

public class ConnectionDetector {

private Context _context;

public ConnectionDetector(Context context){
    this._context = context;
}

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