例如,当我向服务器发送http请求并且在获得完整的响应数据之前,我通常会显示一个进度对话框并使其无法取消。我认为这个设计根本不友好,所以我想让对话框取消,但我发现我可以取消对话但不能取消http请求。我在AsyncTask的子类中发送请求,doInBackgroud()方法中没有循环,所以我无法检查取消属性。 也许原始设计是可以接受的?
欢迎任何建议,谢谢!
答案 0 :(得分:3)
如果您在用户按下取消时不取消HTTP请求,只要用户看起来好像操作被取消就可以。
最终,HTTP请求将失败或在后台成功。然后检查isCancelled(),然后静默退出doInBackground()。