检查互联网连接是否可用(https)

时间:2020-03-02 15:16:19

标签: java android

我想检查android应用是否有可用的互联网连接。 我尝试过这种方法,由于Google对https的要求,该方法无法正常工作。

private static boolean netIsAvailable() {
    try {
        final URL url = new URL("http://www.google.com");
        final URLConnection conn = url.openConnection();
        conn.connect();
        conn.getInputStream().close();
        return true;
    } catch (MalformedURLException e) {
        throw new RuntimeException(e);
    } catch (IOException e) {
        Log.d(TAG, e.toString());
        return false;
    }

我收到错误消息:java.io.IOException: Cleartext HTTP traffic to www.google.com not permitted

还有哪些其他方式?

1 个答案:

答案 0 :(得分:1)

使用https://developer.android.com/reference/android/net/ConnectivityManager是一种选择:

类似的东西:

 NetworkCapabilities networkCapabilities = mConnectivityService.getNetworkCapabilities(mConnectivityService.getActiveNetwork());
                if (networkCapabilities != null) {
                    if (networkCapabilities.hasCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)) {

                        // do something with internet
                    } else {
                        // no internet
                    }
                } else {
                    // no internet
                }

尽管有原因,您不能仅在URL中使用https吗?