中止 HttpGet 在 Android 2.2 及更低版本上不起作用

发布于 2024-12-13 14:30:01 字数 411 浏览 0 评论 0原文

我正在 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文