测试连接无法正常工作

时间:2015-02-02 18:32:51

标签: java android networking mobile

在进行网络连接之前,我使用此代码来设置连接。如果是NONE,则无法显示错误。现在我收到很多用户抱怨此错误消息的用户报告,告诉我他们可以在其他应用上使用互联网。

final NetworkInfo activeNetwork = connectionManager.getActiveNetworkInfo();
if (activeNetwork == null || !activeNetwork.isConnected()) {
        newNetworkType = NetworkStatus.NONE;
} else {
        if (activeNetwork.getTypeName().equalsIgnoreCase("MOBILE")) {
                newNetworkType = NetworkStatus.LOW;
        } else {
                newNetworkType = NetworkStatus.HIGH;
        }
}

此代码挂钩到NetworkChangedReceiver,不断更新它。现在我想知道这段代码是否工作不正常。我应该依赖其他方法吗?例如activeNetwork == null真的意味着没有互联网连接吗?我应该使用NetworkInfo.isAvailable代替isConnected吗?那么isConnecting?

1 个答案:

答案 0 :(得分:1)

我的代码存在很多问题。因此我完全选择了不同的路线。

我所做的是,我ping了我要与之沟通的网站 它有两个方面有帮助

a)检查互联网的状况
b)您的网站是否在线

HttpURLConnection connection = null;
try {
    URL u = new URL("http://www.yourwebsite.com/");
    connection = (HttpURLConnection) u.openConnection();
    connection.setRequestMethod("HEAD");
    int code = connection.getResponseCode();
    // You can determine on HTTP return code received. 200 is success.
} catch (MalformedURLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
} catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
} finally {
    if (connection != null) {
        connection.disconnect();
    }
}