我正在使用排球发出呼叫服务器的请求,但是有时当网络中存在延迟时,它会再次向服务器发出请求。

但是根据我的要求,无论服务器是否响应,它都只能调用服务器一次。

最佳答案

public RetryPolicy myRetryPolicy(){
  return new RetryPolicy() {
      @Override
      public int getCurrentTimeout() {
          return 10000;
      }

      @Override
      public int getCurrentRetryCount() {
          return 0;
      }

      @Override
      public void retry(VolleyError error) throws VolleyError {
        Log.d(TAG, "Volley Error " + error.toString());
          throw new VolleyError("Do Not Retry");
      }
  };
}


如果设置了自定义RetryPolicy,则在retry方法中抛出VolleyError。齐射绝不重试。

postRequest.setRetryPolicy(myRetryPolicy());

LogCat


  11-05 13:00:36.078 6014-6314 / ******:Volley错误com.android.volley.TimeoutError
  11-05 13:00:36.079 6014-6014 / *******:Volley错误com.android.volley.VolleyError:请勿重试

07-28 04:53