我想在设备连接到网络但是没有互联网连接时检查互联网连接。 我想知道检查这个
的最佳方法是什么我问了这个问题,因为没有找到任何接受的答案就是这样。 这里有一些重复的问题,但没有一个接受的答案:
Java: Internet connectivity check via ping to google not working
Check for Active internet connection Android
还有两个已经接受答案的问题,答案不正常:
答案 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;
}
}