排球取消请求

时间:2016-03-05 06:40:01

标签: android android-volley

我正在从凌空中获取数据我的问题是用户按下后退按钮请求继续并且应用程序崩溃,因为活动已完成,然后响应即将到来,所以我呼吁按下

RequestQueue.cancelAll(requesttag)
 i am seting tag as 
 AppRequest.settag(requesttag)

但是每次用户按下后退按钮都会取消取消?我还没找到我可以检查该请求是否正在进行的地方,然后才取消。任何避免它的好方法

3 个答案:

答案 0 :(得分:1)

而不是使用tag来取消所有请求。你可以使用过滤器,

mRequestQueue.cancelAll(new RequestQueue.RequestFilter() {
@Override
    public boolean apply(Request<?> request) {
        return true;
    }
});

希望得到这个帮助。

答案 1 :(得分:1)

重复的问题 你应该在onPause和onStop上停止截击。 Same Question

答案 2 :(得分:0)

如果您使用AsynTask从服务器获取数据,那么您可以定义该Asynctask的实例。当用户按下后退按钮时,您可以像这样取消该任务

 FetchDataListTask fetchDataListAsyncTask;
 fetchDataListAsyncTask = new FetchDataListTask(true);
 fetchDataListAsyncTask.execute();

并将其放入Onbackpressed()方法

if (fetchLeadListAsyncTask != null) {
                fetchLeadListAsyncTask.cancel(true);
            }