java– 如何在Android中取消HttpRequest

java– 如何在Android中取消HttpRequest,第1张

概述我有一个ThreadSafeHttpClient用于整个应用程序,我有一个Service和一个Activity,它们在不同的Threads中经常进行各种RESTAPI调用.有时我需要取消已启动的HttpRequest,因为我已经需要使用更新的数据启动另一个.我不想让用户等待第一个请求完成,然后等待第二个请求,也许此时用户

我有一个Thread Safe httpClIEnt用于整个应用程序,我有一个Service和一个Activity,它们在不同的Threads中经常进行各种REST API调用.
有时我需要取消已启动的httpRequest,因为我已经需要使用更新的数据启动另一个.
我不想让用户等待第一个请求完成,然后等待第二个请求,也许此时用户将再次更新数据,我需要调用第三个请求.
所以我想做的是用旧数据取消请求并开始一个新数据.我尝试取消AsyncTask,但由于某种原因它不会取消已启动的请求.这是我的代码:@H_419_4@

if (getAlbumImage != null && getAlbumImage.getStatus() == AsyncTask.Status.RUNNING) {    Log.d(VibesApplication.VIBES, "cancelling image loader");    getAlbumImage.cancel(true);}getAlbumImage = new GetAndSetAlbumImage();getAlbumImage.execute(performer, name);

我也尝试关闭连接管理器.正如这里建议的那样:https://stackoverflow.com/a/7311393/1032286
但我只有一个客户端和经理,我不想每次进行REST调用时都创建它们.
我该怎么办?如果有办法取消所有正在运行的请求,我会很高兴,但如果有办法取消单独的请求,那将是整洁的.

解决方法:

试试yourhttpRequest.abort()

httpGet和httpPost都实现了AbortablehttpRequest,它有abort()方法

http://developer.android.com/reference/org/apache/http/client/methods/AbortableHttpRequest.html

总结

以上是内存溢出为你收集整理的java – 如何在Android中取消HttpRequest全部内容,希望文章能够帮你解决java – 如何在Android中取消HttpRequest所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1105928.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存