Поскольку ваша queue
ссылка является локальной переменной, вам нужно переместить ее наружу, и поскольку вы используете ее в действии, объявите ее как
private RequestQueue queue;
..oncreate(..){
//... code
queue = Volley.newRequestQueue(this);
}
и создайте отдельный метод для отмены всех запросовкак
void cancelAllQueuedRequests(){
queue.cancelAll("a");
queue.stop();
queue.start();
}
звоните cancelAllQueuedRequests
куда хотите и добавляйте запросы вот так
String url ="some url";
// Request a string response from the provided URL.
StringRequest stringRequest = new StringRequest(Request.Method.GET, url,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Log.d("response", response);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.d("VolleyError", error.toString());
cancelAllQueuedRequests();
}
});
// Add the request to the RequestQueue.
stringRequest.setTag("a");
queue.add(stringRequest);
//queue.start(); no need