I want to handle and show some message in onErrorResponse
below is my code.
String url = MainActivity.strHostUrl+\"api/delete_picture\";
This is what I am using in my projects.
@Override
public void onErrorResponse(VolleyError error) {
if(error instanceof NoConnectionError){
ConnectivityManager cm = (ConnectivityManager)mContext
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetwork = null;
if (cm != null) {
activeNetwork = cm.getActiveNetworkInfo();
}
if(activeNetwork != null && activeNetwork.isConnectedOrConnecting()){
Toast.makeText(getActivity(), "Server is not connected to internet.",
Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(getActivity(), "Your device is not connected to internet.",
Toast.LENGTH_SHORT).show();
}
} else if (error instanceof NetworkError || error.getCause() instanceof ConnectException
|| (error.getCause().getMessage() != null
&& error.getCause().getMessage().contains("connection"))){
Toast.makeText(getActivity(), "Your device is not connected to internet.",
Toast.LENGTH_SHORT).show();
} else if (error.getCause() instanceof MalformedURLException){
Toast.makeText(getActivity(), "Bad Request.", Toast.LENGTH_SHORT).show();
} else if (error instanceof ParseError || error.getCause() instanceof IllegalStateException
|| error.getCause() instanceof JSONException
|| error.getCause() instanceof XmlPullParserException){
Toast.makeText(getActivity(), "Parse Error (because of invalid json or xml).",
Toast.LENGTH_SHORT).show();
} else if (error.getCause() instanceof OutOfMemoryError){
Toast.makeText(getActivity(), "Out Of Memory Error.", Toast.LENGTH_SHORT).show();
}else if (error instanceof AuthFailureError){
Toast.makeText(getActivity(), "server couldn't find the authenticated request.",
Toast.LENGTH_SHORT).show();
} else if (error instanceof ServerError || error.getCause() instanceof ServerError) {
Toast.makeText(getActivity(), "Server is not responding.", Toast.LENGTH_SHORT).show();
}else if (error instanceof TimeoutError || error.getCause() instanceof SocketTimeoutException
|| error.getCause() instanceof ConnectTimeoutException
|| error.getCause() instanceof SocketException
|| (error.getCause().getMessage() != null
&& error.getCause().getMessage().contains("Connection timed out"))) {
Toast.makeText(getActivity(), "Connection timeout error",
Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(getActivity(), "An unknown error occurred.",
Toast.LENGTH_SHORT).show();
}
}