我正在使用volley作为我的Android应用程序的网络库。 现在主要是我想处理两种类型的错误1.验证2.网络错误
以下代码段代码在Lollipop上完美运行。但是当我在较低的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类上编写的。
答案 0 :(得分:1)
检查当前版本并按该版本执行代码:
if (Lollipop) {
//Lollipop code
} else {
//below Lollipop cod
}