0
我使用volley作为我的android应用程序的网络库。 现在主要我想处理两种类型的错误1.身份验证2.网络错误VollyError在下面的API上返回null Leval 21 android
下面的代码段代码完美地工作在棒棒糖上。但是,当我在较低的API 21上运行应用程序时,那么VolleyError的对象将返回null。
public Response.ErrorListener getErrorListener() {
return new Response.ErrorListener(){
@Override
public void onErrorResponse(VolleyError error) {
error.printStackTrace();
if(error instanceof AuthFailureError) {
Toast.makeText(mCtx, "Invalid User", Toast.LENGTH_LONG).show();
AppUtility.dismissDialog();
} else if (error instanceof NetworkError) {
final EspecAlertDialog err = EspecAlertDialog.newInstance("Network Error", "Please Check your Internet Connection", "Setting", "Ok");
err.show(((FragmentActivity) mCtx).getSupportFragmentManager(), "error");
err.setmOnDialogClickedListener(new EspecAlertDialog.OnDialogClickedListener() {
@Override
public void onDialogPositiveButtonClicked(View v) {
((FragmentActivity) mCtx).startActivityForResult(new Intent(android.provider.Settings.ACTION_SETTINGS), 0);
}
@Override
public void onDialogNegativeButtonClicked(View v) {
err.dismiss();
}
});
AppUtility.dismissDialog();
}
}
};
}
注意:上面的代码是写在SingleTone类上的。