VolleyError return 空 API 级别 21 android
VollyError return null on below API Leval 21 android
我正在使用 volley 作为我的 android 应用程序的网络库。
现在我主要想处理两种类型的错误 1. 身份验证 2. 网络错误
下面的代码片段在 Lollipop 上完美运行。但是当我 运行 应用程序在较低的 API 21 上时,VolleyError return 的对象为 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上写的class.
检查当前版本并根据该版本执行代码:
if (Lollipop) {
//Lollipop code
} else {
//below Lollipop cod
}
我正在使用 volley 作为我的 android 应用程序的网络库。 现在我主要想处理两种类型的错误 1. 身份验证 2. 网络错误
下面的代码片段在 Lollipop 上完美运行。但是当我 运行 应用程序在较低的 API 21 上时,VolleyError return 的对象为 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上写的class.
检查当前版本并根据该版本执行代码:
if (Lollipop) {
//Lollipop code
} else {
//below Lollipop cod
}