Se si ottiene una risposta 404, dovrebbe entrare in qualsiasi ascoltatore di errori impostato. Ottieni un oggetto VolleyError nel listener di errori. È possibile ottenere la risposta di rete da questo oggetto e quindi i dati dal corpo della risposta. Viene fornito come un array di caratteri, quindi è necessario convertirlo in qualcos'altro.
Lo snippet di seguito è una semplice richiesta che lo fa, tuttavia dovrai inserire il tuo 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){
}
}
}
);