0
私のアプリケーションではユーザーのログインが必要です。ログインに成功するとうまくいきます。ただし、エラーの場合はエラー400が戻されますが、エラー・リスナーのみが呼び出されます。私はステータスコードを読むことができません。私は、ユーザーに特定のエラートーストを表示するために、エラー応答コードを読みたい。ボレーのエラー応答コードを取得できません
私のコードは次のとおりです。 - が
String SignInURL = "https://xyz/abc";
StringRequest j1 = new StringRequest(Request.Method.POST,SignInURL, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Toast.makeText(getApplicationContext(),"GG"+response,Toast.LENGTH_LONG).show();
try {
JSONObject jsonResponse = new JSONObject(response);
Log.e("QWER",""+jsonResponse);
Toast.makeText(getApplicationContext(),""+jsonResponse,Toast.LENGTH_LONG).show();
sp = getSharedPreferences(AUTHDATA, Context.MODE_PRIVATE);
SharedPreferences.Editor edit = sp.edit();
edit.putString("access_token",jsonResponse.getString("access_token"));
edit.putString("token_type",jsonResponse.getString("token_type"));
edit.putString("refresh_token",jsonResponse.getString("refresh_token"));
edit.putString("scope",jsonResponse.getString("scope"));
Log.e("ACCESS_TOKEN",jsonResponse.getString("access_token"));
if(jsonResponse.getString("access_token").equals("")){
edit.putBoolean("login",false);
}else{edit.putBoolean("login",true);}
Intent i = new Intent(getApplicationContext(), HomeActivity.class);
startActivity(i);
finish();
} catch (JSONException e) {
e.printStackTrace();
Toast.makeText(getApplicationContext(),
"Error: " + e.getMessage(),
Toast.LENGTH_LONG).show();
hidepDialog();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(getApplicationContext(),"Invalid credentials", Toast.LENGTH_LONG).show();
hidepDialog();
}
}){
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
HashMap<String, String> hashMap = new HashMap<String, String>();
hashMap.put("Content-Type","application/json; charset=utf-8");
return hashMap;
}
};
RequestQueue requestQueue = Volley.newRequestQueue(getApplicationContext());
requestQueue.add(j1);
はErrorResponseがそれを処理している上 は単純に、catchブロックが例外400 – W4R10CK
Nopesでキャッチされていることを、追加します。私はErrorResponseの範囲にある "Invalid Credentials"トーストを受け取ります –
ここにJSONの値を追加します – W4R10CK