首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HttpURLConnection urlc

HttpURLConnection urlc
EN

Stack Overflow用户
提问于 2013-03-07 18:18:02
回答 2查看 654关注 0票数 0

在我的应用程序中,当应用程序第一次启动时,在我的闪屏期间,我正在检查网络连接。如果存在网络连接,我将通过调用下面的方法进入互联网连接。

然而,我故意手动禁用我的互联网连接(我连接到路由器,但无法在我的浏览器上输入网页),然而下面的方法总是返回me -200-这对于互联网连接是正确的。

代码语言:javascript
复制
public boolean hasActiveInternetConnection()
{
    try
    {
        HttpURLConnection urlc = (HttpURLConnection) (new URL("http://www.google.com").openConnection());
        urlc.setRequestProperty("User-Agent", "Test");
        urlc.setRequestProperty("Connection", "close");
        urlc.setConnectTimeout(3000);
        urlc.setReadTimeout(4000);
        urlc.connect();
        Log.i("Splash", Integer.toString(urlc.getResponseCode()));
        return (urlc.getResponseCode() == 200);
    } catch (IOException e)
    {
        return (false);
    }
}
EN

回答 2

Stack Overflow用户

发布于 2013-03-13 18:15:28

尝试在openConnection()之前包含此代码

代码语言:javascript
复制
if (android.os.Build.VERSION.SDK_INT > 9) {
                    StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
                    StrictMode.setThreadPolicy(policy);
                }
票数 1
EN

Stack Overflow用户

发布于 2013-03-07 18:51:31

您可以使用此函数检查互联网连接:

代码语言:javascript
复制
    public boolean isInternetConnection() {
    ConnectivityManager cn = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE);
    NetworkInfo nf = cn.getActiveNetworkInfo();
    if (nf != null && nf.isConnected() == true)
        return true;
    else
        return false;
}

您需要为此添加清单权限:

代码语言:javascript
复制
    <uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15268487

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档