Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/207.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 要检查是否在打开WIFI的情况下仍可以连接互联网?_Android - Fatal编程技术网

Android 要检查是否在打开WIFI的情况下仍可以连接互联网?

Android 要检查是否在打开WIFI的情况下仍可以连接互联网?,android,Android,我正在尝试构建一个应用程序,在这个应用程序中,我首先需要检查互联网连接是否可用,即使它连接到没有互联网连接的WIFI路由器?从我了解的来源来看,为了检查这一点,我需要ping该网站,例如(www.google.com).请帮我提供我需要包含的确切片段? 谢谢这个方法对我很有效 public final boolean isInternetOn() { // get Connectivity Manager object to check connection C

我正在尝试构建一个应用程序,在这个应用程序中,我首先需要检查互联网连接是否可用,即使它连接到没有互联网连接的WIFI路由器?从我了解的来源来看,为了检查这一点,我需要ping该网站,例如(www.google.com).请帮我提供我需要包含的确切片段?
谢谢

这个方法对我很有效

 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没有互联网连接,它仍会显示“已连接”。请帮助?检查此问题之前已经问过如果您仍然遇到问题,请告诉我应用程序强制关闭!请帮忙