Volley RequestQueue Timeout

You should set the request’s RetryPolicy:

myRequest.setRetryPolicy(new DefaultRetryPolicy(

This would change your code to:

RequestQueue mRequestQueue = Volley.newRequestQueue(getApplicationContext());
JsonObjectRequest request = new JsonObjectRequest(Method.GET, cityListUrl, null, new
    Listener<JSONObject>() {
        public void onResponse(JSONObject jsonResults) {
            //Any Call
    }, new ErrorListener(){
        public void onErrorResponse(VolleyError arg0) {
            //Any Error log

int socketTimeout = 30000;//30 seconds - change to what you want
RetryPolicy policy = new DefaultRetryPolicy(socketTimeout, DefaultRetryPolicy.DEFAULT_MAX_RETRIES, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT);

If you are only just getting started with Volley, you might want to instead consider droidQuery, which is a little easier to configure:

int socketTimeout = 30000;
$.ajax(new AjaxOptions().url(cityListUrl)
                        .success(new Function() {
                            public void invoke($ d, Object... args) {
                                JSONObject jsonResults = (JSONObject) args[0];
                                //Any call
                        .error(new Function() {
                            public void invoke($ d, Object... args) {
                                AjaxError error = (AjaxError) args[0];
                                Log.e("Ajax", error.toString());

Leave a Comment