中止 HttpGet 在 Android 2.2 及更低版本上不起作用
我正在 android 上使用 Apache http 类执行长期的 HTTP-GET 请求。由于我想随时中断此请求,因此我从另一个线程(从主线程)调用此 HttpGet 上的 abort() 。 HttpClient.execute() 的阻塞调用返回,因为立即抛出 IOException。在 Android 2.3 上一切都按我的预期运行。
当我在 Android 2.2 上运行相同的代码(在 HTC Desire 和模拟器上测试)时,没有抛出异常。加载线程仍然阻塞。我没有机会打断它。
我的第一个猜测是,android 2.2 使用的是旧版本的 Apache HTTP 客户端。因此,我将最新版本作为库(具有不同的命名空间)包含在内,并检查了我的导入。 -->相同的结果。
有什么想法,为什么它不能在 android 2.2(可能更早)上工作?
I am performing a long-living HTTP-GET request on android, using the Apache http classes. As I want to interrupt this request at any time, I call abort() on this HttpGet from another thread (from the main thread). The blocking call of HttpClient.execute() returns, as an IOException is thrown immediately. All works as I expect it on Android 2.3.
When I run the same code on Android 2.2 (tested on HTC Desire and Emulator), no Exception is thrown. The loading-thread is still blocking. I have got no chance to interrupt it.
My first guess was, that android 2.2 is using an older version of the Apache HTTP Client. So I included the latest version as a library (with a different namespace) and checked my imports. --> same result.
Any ideas, why it's not working on android 2.2 (and probaply earlier)?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论