2015-05-14 121 views
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類上的。

回答

1

檢查最新版本並執行每那個版本代碼:

if (Lollipop) { 
    //Lollipop code 
} else { 
    //below Lollipop cod 
} 
相關問題