I have a problem with Volley POST request on slow network. Everytime I see BasicNetwork.logSlowRequests
in my LogCat, my POST request is executed twice or more resulting multiple (2 or more) postings for 1 request. I already set the retry policy to 0, but It doesn't help.
This is my LogCat
03-16 01:31:35.674: D/Volley(5984): [19807]
BasicNetwork.logSlowRequests: HTTP response for request=<[ ]
http://[myserver]/api/places 0xfa7d0c33 NORMAL 1> [lifetime=3824],
[size=313], [rc=200], [retryCount=0] 03-16 01:31:35.704:
D/Volley(5984): [1] Request.finish: 3853 ms: [ ]
http://[myserver]/api/places 0xfa7d0c33 NORMAL 1
This is my code
JSONObject body = new JSONObject();
try {
body.put(PROTO_BODY_AUTHORIZATION, Sessions.getActiveSession().getToken());
} catch (JSONException e) {
e.printStackTrace();
}
JsonObjectRequest request = new JsonObjectRequest(
Request.Method.POST,
context.getResources().getString(R.string.server_address) + "/places",
body,
callback,
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(context, error.getMessage(), Toast.LENGTH_LONG).show();
}
}
);
request.setRetryPolicy(
new DefaultRetryPolicy(
DefaultRetryPolicy.DEFAULT_TIMEOUT_MS,
0,
DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
getRequestQueue().add(request);
Please help, I desperately finding solution for this problem.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…