完成CONNECTIVITY_SERVICE测试

时间:2011-11-15 02:08:23

标签: java android

我的应用程序连接到Internet onCreate,它在AsyncTaks类中执行此操作并且一切正常。我有一些错误检查,以确保有互联网可用,如果我说我的手机在飞行模式下工作得很好。

我的问题是,当我在WIFI上,我住的时候WWW会不时出现,但电话仍然认为它是连接的。例如,手机仍然连接到WIFI加密狗,但WIFI加密狗没有连接到WWW,因此当应用程序打开并尝试连接时会出现错误,我会关闭一个力量。

如何进行完整的互联网连接检查onCreate将覆盖所有基地???

干杯,

麦克

1 个答案:

答案 0 :(得分:0)

一种可能性就是处理您以更好的方式获得的错误。你现在正在接近一支部队,因为(我猜)你从你的申请中得到一个RuntimeException。处理异常并向用户提供正确的消息可能就足够了。

另一种方法是与一些高可用服务器建立一个(或几个)连接以查看它是否有效。例如,类似下面的内容应该有效:

HttpClient client = new DefaultHttpClient();
HttpGet request = new HttpGet("http://www.google.com/");
try {
    HttpResponse response = client.execute(request);
    txtResult.setText(HttpHelper.request(response));
    // internet is working 
} catch(Exception ex) {
    // internet is not working
    txtResult.setText("Internet ENOWORK");
}

如果您发布了您收到的异常/错误并对我的回答发表评论,我可以使用更多细节进行编辑。