【发布时间】:2015-01-10 20:21:36
【问题描述】:
我有这个常用的代码来向服务器发出 HTTP 请求。
HttpClient httpclient = new DefaultHttpClient();
...
HttpGet httpGet = new HttpGet(finalUri.toURI());
httpGet.addHeader("Accept", "text/xml");
response = httpclient.execute(httpGet);
当有互联网连接时,这可以正常工作。但是当没有互联网连接时,代码只需在httpclient.execute(httpGet); 等待很长时间,直到超时并引发异常并导致应用程序崩溃。
01-10 15:17:48.612 20692-20806/com.somepackage.somepackage E/EXCEPTION﹕ Unable to resolve host "myapi.myhost.com": No address associated with hostname
对于异常我可以捕获UnknownHostException e 并处理它。但是有没有办法预先知道缺少互联网连接?
【问题讨论】:
-
已在您的网址前添加了 http://??
-
要检查用户当前是否连接,看这个帖子:stackoverflow.com/a/7071617/2857385