Cómo tener una solicitud fiable Volley sin política de reintentos

Cuando estoy en una conexión lenta y hacer una solicitud de POST, Volley errorListener mi solicitud varias veces y después de todo termina golpeando mi errorListener . A veces, estos reintentos realmente lograron publicar datos.

El usuario asumirá que la solicitud fracasó, pero en verdad, si actualizó los datos que verían los datos fueron enviados dos veces al servidor (o sin embargo muchos intentos exitosos en el grupo).

Quiero dar Volley una política de reintento muy dumbed-down:

Quiero que intente una petición por 15 segundos y si la petición no alcanza el servidor en el plazo de 15 segundos y vuelve con una respuesta para accionar el errorListener . No quiero que vuelva a intentarlo.

La única preocupación es si Volley intenta, la solicitud llega al servidor dentro de 20 ~ 25 segundos, pero por entonces se disparó el errorListener y los datos todavía se POSTed.

¿HTTP sigue un límite de tiempo después del cual es 100% los datos no se publicarán porque la solicitud tardó demasiado? ¿Tal vez 40 segundos? Si tal, entonces puedo hacer que la petición continúe durante 40 segundos.

En todo:

No hay reintentos y asegúrese de que el 100% que si los datos se publicó en el primer intento vaya a successListener y si no se publicó (solicitud murió debido a tomar demasiado tiempo o respuesta de error del servidor) errorListener .

Estaba pensando en hacer algo con el defaultRetryPolicy … como DefaultRetryPolicy(15000, 0, 1) , aunque creo que el último parámetro no importa porque ¿cuál es el punto de retroceso sin reintentos.

¿Cómo lograría lo que le pedí dos párrafos de nuevo?

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.