3

我编写了一个应用程序,它每小时左右访问一个网站以获取数据。在大多数情况下,这非常有效。但是,我最近遇到了重复的问题,即应用程序突然停止更新数据。换句话说,该应用程序运行良好,可以访问网站并提取数据……然后突然就不行了。我终于找到了“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
4

0 回答 0