我正在使用静态 Web 服务类来调用 HTTP GET 请求,并希望能够在用户按下后退按钮时取消请求/AsyncTask。
我在 doInBackground 中定期检查 isCancelled(),它适用于所有其他操作,但如果 HTTP 请求在用户回击时发生,则在收到结果或超时之前不会取消任务。
由于对 WebServices.getDeviceId() 的静态调用,我在 HTTP 客户端上没有句柄,所以我不能使用 httpclient.getConnectionManager().shutdown(); 停止连接。有人对我如何解决这个问题有任何想法吗?
@Override
protected Void doInBackground(Void... params) {
if((mInstance.getDeviceId() == null) && !isCancelled()) {
String deviceId = WebServices.getDeviceId();
}
return null;
}