Вы можете установить тайм-аут для своего запроса.
, после того как этот конкретный тайм-аут будет отклонен, и вы можете перехватить это исключение внутри вашего onErrorResponse(VolleyError error)
, и здесь вы можете отобразить Toast
inВаш случай здесь является примером
stringRequest.setRetryPolicy(new DefaultRetryPolicy(MY_TIMEOUT_MS,DefaultRetryPolicy.DEFAULT_MAX_RETRIES,DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
MySingleton.getInstance(getContext()).addToRequestQueue(stringRequest);
, установленным MY_TIMEOUT_MS
на 10000 миллисекунд и DEFAULT_MAX_RETRIES
на 0
, теперь через 10 секунд запрос будет отклонен и внутри вашего ErrorResponse
выможно поймать вот так и показать тост
@Override
public void onErrorResponse(VolleyError error) {
error.printStackTrace();
if (error instanceof TimeoutError || error instanceof NoConnectionError||error instanceof NetworkError) {
Toast.makeText(context,context.getString(R.string.error_network_timeout),Toast.LENGTH_LONG).show();
}
}