Si vous obtenez une réponse 404, elle devrait entrer dans l'écouteur d'erreur que vous avez défini. Vous obtenez un objet VolleyError dans l'écouteur d'erreur. Vous pouvez obtenir la réponse du réseau à partir de cet objet, puis les données du corps de la réponse. Il est donné sous la forme d'un tableau de caractères, donc vous devez le convertir vous-même en quelque chose d'autre.
L'extrait ci-dessous est une simple requête qui fait cela, vous devrez cependant entrer votre propre URL.
StringRequest request = new StringRequest(Request.Method.GET, "yourURL", new Response.Listener<String>() {
@Override
public void onResponse(String s) {
//Do whatever
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError volleyError) {
try {
String responseBody = new String(volleyError.networkResponse.data, "utf-8");
JSONObject jsonObject = new JSONObject(responseBody);
} catch (JSONException e) {
//Handle a malformed json response
} catch (UnsupportedEncodingException error){
}
}
}
);