0

我一直在寻求其他问题的帮助,但找不到东西,而在审查活动中需要互联网连接,即使激活了 3G 但无法连接(已超出数据使用或防火墙)教程或我找到的帮助不包括那个。

4

1 回答 1

1

我使用这个小功能来检测公共 Wifi 重定向以登录页面。如果此函数返回 false,则意味着您无法连接到预期页面,尽管您的 3G 或 Wifi 已打开。有了它,您可以向用户显示任何页面,例如“无 Internet 连接”页面。

public boolean networkSignOn() {
    HttpURLConnection urlConnection = null;
    try {
        URL url = new URL("http://clients3.google.com/generate_204");
        urlConnection = (HttpURLConnection) url.openConnection();
        urlConnection.setInstanceFollowRedirects(false);
        urlConnection.setConnectTimeout(10000);
        urlConnection.setReadTimeout(10000);
        urlConnection.setUseCaches(false);
        urlConnection.getInputStream();
        return urlConnection.getResponseCode() == 204;
    } catch (IOException e) {
        Log.v("Walled garden check - probably not a portal: exception " + e, "");
        return false;
    } finally {
        if (urlConnection != null) urlConnection.disconnect();
    }
}
于 2013-07-29T05:06:16.100 回答