我已经编写了一个应用程序,每小时左右就可以访问一个网站获取数据。在大多数情况下,这很有效。但是,我最近一直有重复的问题突然,应用程序停止更新数据。换句话说,该应用程序工作得非常好,访问网站并提取数据......然后突然间它将不再存在。我终于将其追溯到“java.net.UnknownHostException:www.mysite.com”。
问题是......设备(这是在设备上,而不是模拟器)仍然可以访问互联网,因此它不是网络访问问题。另一件事是,它永远不会自行解决......它将继续为DAYS提供此错误。到目前为止,我发现的唯一一件事就是手机重启。
不幸的是,这在我的手机上从未发生过,所以我不能自己测试。我只是听别人说的。
是否有某种方法可以“重新启动”解析域名的电话网络接口部分,如果这是问题?
以下是我用来访问网站的代码:
try {
HttpParams httpParams = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(httpParams, HTTP_TIMEOUT);
HttpConnectionParams.setSoTimeout(httpParams, HTTP_TIMEOUT);
DefaultHttpClient httpClient = new DefaultHttpClient(httpParams);
HttpPost httpPost = new HttpPost(url);
HttpResponse httpResponse = httpClient.execute(httpPost);
HttpEntity entity = httpResponse.getEntity();
if (entity == null) {
throw new Exception("Entity was null");
}
line = EntityUtils.toString(entity);
}
catch (ClientProtocolException cpe) {
throw new NetworkNotAvailableException("A client protocol exception occurred: " + cpe.getLocalizedMessage());
}
...and more catches below this