¿cuál es la mejor práctica para repetir las solicitudes de Android Volley automáticamente?
He hecho ListView poblado por Volley JsonObjectRequest y setShouldCache a false .. Ahora quiero volver a llenar cada 5 minutos, así que ¿cuál es la mejor práctica para hacer eso?
Pensé en hacer Handler que maneja runnable añadiendo peticiones a la cola cada 5 minutos ..
ACTUALIZACIÓN 1
Tengo Volley JsonObjectRequest como este
jsObjRequest = new JsonObjectRequest(Request.Method.GET, "Place Holder for URL ", null, new Response.Listener<JSONObject>() { @Override public void onResponse(JSONObject jObj) { // Some Processing Here } } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { error.printStackTrace(); // Some Processing Here } }); jsObjRequest.setShouldCache(false);
Entonces lo agrego al RequestQueue
addToRequestQueue(jsObjRequest);
Volley sólo lo ejecuta una vez.
Mi pregunta es si hay algún método utilizando Volley para repetirlo cada período específico de tiempo.
Solución
He encontrado la solución para utilizar IntentService y AlarmManager para repetir la tarea solicitada como este
// The IntentService public class AnnouncementIntentService extends IntentService { protected void onHandleIntent(Intent intent) { CustomRequestQueue.getInstance(getApplicationContext()) .addToRequestQueue(jsObjRequest); }}
// The Alarm Manager Code AlarmManager alarm = (AlarmManager)ctx .getSystemService(Context.ALARM_SERVICE); Intent i = new Intent(ctx, AnnouncementIntentService.class); PendingIntent pinIntent = PendingIntent.getService(ctx, 0, i, 0); alarm.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), 10000L, pinIntent);