我有以下代码用于通过 asynctask 执行 xml 下载,用于针对 android 版本>3 的 android 应用程序。如果网络/互联网连接良好,则代码工作得很好。但是,如果互联网连接不好,应用程序将强制关闭。我试过抛出不同类型的错误捕获,但仍然无法解决网络连接低时强制关闭的问题。
任何人有任何建议我可以尝试
private class DownloadWebPageXML extends AsyncTask<String, Void, InputStream> {
@Override
protected InputStream doInBackground(String... urls) {
Log.d("mylogitem", "AsyncTask started!");
InputStream content = null;
String myurl = urls[0];
AndroidHttpClient client = AndroidHttpClient.newInstance("Android");
HttpGet httpGet = new HttpGet(myurl);
try {
HttpResponse execute = client.execute(httpGet);
content = execute.getEntity().getContent();
} catch (Exception e) {
xmldownloaderror = e.getMessage();
Log.d("mylogitem", e.getMessage());
} finally {
Log.d("mylogitem", "Closing AndroidHttpClient");
client.close();
}
return content;
}
@Override
protected void onPostExecute(InputStream result) {
//do xml reader on inputstream
}
}