Android 要检查是否在打开WIFI的情况下仍可以连接互联网?
我正在尝试构建一个应用程序,在这个应用程序中,我首先需要检查互联网连接是否可用,即使它连接到没有互联网连接的WIFI路由器?从我了解的来源来看,为了检查这一点,我需要ping该网站,例如(www.google.com).请帮我提供我需要包含的确切片段?Android 要检查是否在打开WIFI的情况下仍可以连接互联网?,android,Android,我正在尝试构建一个应用程序,在这个应用程序中,我首先需要检查互联网连接是否可用,即使它连接到没有互联网连接的WIFI路由器?从我了解的来源来看,为了检查这一点,我需要ping该网站,例如(www.google.com).请帮我提供我需要包含的确切片段? 谢谢这个方法对我很有效 public final boolean isInternetOn() { // get Connectivity Manager object to check connection C
谢谢这个方法对我很有效
public final boolean isInternetOn() {
// get Connectivity Manager object to check connection
ConnectivityManager connec =
(ConnectivityManager) getSystemService(getBaseContext().CONNECTIVITY_SERVICE);
// Check for network connections
if (connec.getNetworkInfo(0).getState() == NetworkInfo.State.CONNECTED ||
connec.getNetworkInfo(0).getState() == NetworkInfo.State.CONNECTING ||
connec.getNetworkInfo(1).getState() == NetworkInfo.State.CONNECTING ||
connec.getNetworkInfo(1).getState() == NetworkInfo.State.CONNECTED) {
// if connected with internet
// Toast.makeText(this, " Connected ", Toast.LENGTH_LONG).show();
return true;
} else if (
connec.getNetworkInfo(0).getState() == NetworkInfo.State.DISCONNECTED ||
connec.getNetworkInfo(1).getState() == NetworkInfo.State.DISCONNECTED) {
// Toast.makeText(this, " Not Connected ", Toast.LENGTH_LONG).show();
return false;
}
return false;
}
试试这个:
public static boolean hasInternet(Context context) {
ConnectivityManager connMgr = (ConnectivityManager)
context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = connMgr.getActiveNetworkInfo();
return networkInfo != null && networkInfo.isConnected();
}
我为您找到了一个更好的解决方案检查它是否可能重复@AbhishekJain我在isNetworkAvailable()上遇到错误?即使我的WIFI没有互联网连接,它仍会显示“已连接”。请帮助?检查此问题之前已经问过如果您仍然遇到问题,请告诉我应用程序强制关闭!请帮忙