我的应用程序连接到互联网onCreate,它在一个AsyncTaks类中完成这项工作,一切工作正常。我有一些错误检查的地方,以确保有互联网可用,并工作很好,如果我说把我的手机在飞行模式。
我的问题是,当我使用WIFI时,我居住的地方WWW会不时中断,但手机仍然认为它是连接的。例如..手机仍然连接到WIFI加密狗,但WIFI加密狗没有连接到WWW,所以当应用程序打开并尝试连接时,它得到一个错误,我得到一个强制关闭。
我如何做一个完整的互联网连接检查onCreate将涵盖所有基础?
干杯,
麦克。
发布于 2011-11-15 21:35:06
一种可能是以一种更好的方式处理你得到的错误。你现在得到了一个force close,因为(我假设)你正在从你的应用程序中得到一个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");
}如果你发布了你得到的异常/错误,并对我的回答发表了评论,我可以编辑它,提供更多细节。
https://stackoverflow.com/questions/8130659
复制相似问题