连接超时 Android

Connection Timeout Android

我有一个 android 应用程序,我在其中点击了网络服务并获得了结果。 现在我想要的是,如果获取结果的时间越来越长,或者在请求互联网连接之间消失了,那么我会向用户显示一条消息或对话框,提示您的连接超时 我试过这段代码,但这不起作用 任何帮助将不胜感激

blic void getVolleyTask(Context context,
        final IVolleyReponse responseContext, String URL) {
    RequestQueue request = Volley.newRequestQueue(context);
    StringRequest strReq = new StringRequest(Request.Method.GET, URL,
            new Response.Listener<String>() {

                @Override
                public void onResponse(String response) {
                    try {
                        if (response != null) {
                            JSONArray _array = new JSONArray(response);
                            responseContext.ResponseOk(_array);
                        } else {
                            responseContext.ResponseOk(null);
                        }
                    } catch (Exception e) {
                        e.printStackTrace();
                        responseContext.ResponseOk(null);
                    }
                }
            }, new Response.ErrorListener() {

                @Override
                public void onErrorResponse(VolleyError error) {
                    responseContext.ErrorBlock();
                }
            });
    strReq.setRetryPolicy(new DefaultRetryPolicy(socketTimeout, maxTries,
            DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
    request.add(strReq);
}


       public void getVolleyPostTask(Context context,
        final IVolleyJSONReponse jsonResponseContext, String URL,
        JSONObject obj) {
    RequestQueue request = Volley.newRequestQueue(context);
    JsonObjectRequest myRequest = new JsonObjectRequest(
            Request.Method.POST, URL, obj,
            new Response.Listener<JSONObject>() {
                @Override
                public void onResponse(JSONObject response) {
                    jsonResponseContext.ResponseOk(response);
                }
            }, new Response.ErrorListener() {
                @Override
                public void onErrorResponse(VolleyError error) {
                    jsonResponseContext.ErrorBlock();
                }
            }) {

        @Override
        public Map<String, String> getHeaders() throws AuthFailureError {
            HashMap<String, String> headers = new HashMap<String, String>();
            headers.put("Content-Type", "application/json; charset=utf-8");
            return headers;
        }
    };
    myRequest.setRetryPolicy(new DefaultRetryPolicy(socketTimeout,
            maxTries, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
    request.add(myRequest);
}

提前致谢!

VollyJson 库能够在与 webservices.When 通信时区分不同的网络错误

public void onErrorResponse(VolleyError error) {

    if (error instanceof TimeoutError || error instanceof NoConnectionError)     {
        //Write Your code here
    } else if (error instanceof AuthFailureError) {
        //TODO
    } else if (error instanceof ServerError) {
       //TODO
    } else if (error instanceof NetworkError) {
      //TODO
    } else if (error instanceof ParseError) {
       //TODO
    }