Volley 设置 RetryPolicy 不起作用, 重复提交

RT, Google后有的说是 将超时时间设置为0, 但是还是会重试提交,

解决方案如下:

static HurlStack stack =  new HurlStack(){
        @Override
        protected HttpURLConnection createConnection(URL url) throws IOException {
            HttpURLConnection con = super.createConnection(url);
            //主要是这行代码, 貌似是因为HttpClient的bug
            con.setChunkedStreamingMode(0);
            return con;
        }
    };
static RequestQueue mQueue = Volley.newRequestQueue(context, stack);

//....
StringRequest req = new StringRequest(...);
req.setRetryPolicy(new DefaultRetryPolicy(20*1000, 0, 1.0f));
mQueue.add(req);

如果提交错误, 最好是取消掉该请求

mQueue.cancelAll(tag);

 

posted @ 2016-06-02 22:31  TuWei  阅读(1089)  评论(0编辑  收藏  举报