如何检查android中连接的真实互联网?

前端之家收集整理的这篇文章主要介绍了如何检查android中连接的真实互联网?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我制作一个程序,我必须使用wifi连接互联网.我找到一些信息来检查wifi是否已连接.但在某些情况下,你可以连接wifi AP,但你仍然无法使用互联网,如WiFi所需的帐户和密码到https的证书,或无线AP无法上网.那么,我该如何检查真正的互联网连接?

解决方法

只需对www.google.com进行“Ping”,他们失败的可能性非常低.

附:这就是我们在应用程序中所做的事情..

public static boolean isReachable(Context context) {
    //  First,check we have connectivity
    final ConnectivityManager connMgr = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
    final NetworkInfo netInfo = connMgr.getActiveNetworkInfo();

    if (netInfo != null && netInfo.isConnected()) {
        //  check if google is reachable
        try {
            URL url = new URL("http://www.google.com");
            HttpURLConnection urlc = (HttpURLConnection) url.openConnection();
            urlc.setRequestProperty("Connection","close");
            urlc.setConnectTimeout(10 * 1000); // Ten seconds timeout in milliseconds
            urlc.connect();
            if (urlc.getResponseCode() == 200) { // success
                return true;
            } else { // Fail
                return false;
            }
        } catch (IOException e) {
            Log.e(TAG,e.getMessage());
            return false;
        }
    } else {
        return false;
    }
}

猜你在找的Android相关文章