我有一个非常奇怪的问题。
我的应用使用异步任务发出http请求。 在较低版本中一切正常,但是当我在带有Android 4.1.1的三星Galaxy Tab 2上测试时,asynctask ALWAYS会抛出TimeoutException。
以下是我使用代码的方式。
try {
response = new HttpContents(getApplicationContext()).execute(url).get(4000, TimeUnit.MILLISECONDS);
// the .get(4000,...) part will force a Timeout after 4 secs, but it doesn't happen in pre-honeycomb. Only in android 4+
} catch (TimeoutException e) {
// Log.e("WEB TO EXCEPTION",e.toString());
return null; // This doesn't matter.
}
HttpContents是External AsyncTaks类(它可以很好地返回内容)。
在我测试的较低Android版本中,我得到了正确的响应。
我没有从主线程运行它(因此,它不会冻结我的UI)。
出于某种原因,正在抛出异常时返回http响应。在另一个asynctask的doInBackground(在android 4.0中)中执行asynk任务是否存在问题。因为这对我来说似乎是个问题。
为什么我只在ICS 上获得此超时例外,而不是在较低版本上获得此超时例外。 有关于此的任何已知问题吗?