Ejecute la solicitud de volea cada 5 minutos en segundo plano android

Utilizo la biblioteca Volley para conectarme con el servidor en mi aplicación. Ahora, tengo que enviar una solicitud en segundo plano cada 5 minutos también cuando la aplicación no se está ejecutando (eliminada por el usuario). ¿Cómo debería hacerlo? Con servicios de fondo,AlarmManager (Google dice que no es una buena opción para las operaciones de red) o algo más?

¿O tal vez SyncAdapter será bueno para eso?

 Teo Inke27 ago. 2015 23:29
Solo usa un servicio

Respuestas a la pregunta(2)

Solución de preguntas

Puede usar una TimerTask conscheduleAtFixedRate en una clase de servicio para lograr esto, aquí hay un ejemplo de clase de servicio, puede usarlo

public class ScheduledService extends Service 
{

private Timer timer = new Timer();


@Override
public IBinder onBind(Intent intent) 
{
    return null;
}

@Override
public void onCreate() 
{
    super.onCreate();
    timer.scheduleAtFixedRate(new TimerTask() {
        @Override
        public void run() {
            sendRequestToServer();   //Your code here
        }
    }, 0, 5*60*1000);//5 Minutes
}

@Override
public void onDestroy() 
{
    super.onDestroy();
}

}

Puedes usarsendRequestToServer Método para conectarse con el servidor. Aquí está la declaración manifiesta del Servicio.

<service android:name=".ScheduledService" android:icon="@drawable/icon" android:label="@string/app_name" android:enabled="true"/>

Para iniciar el servicio desde MainActivity,

// use this to start and trigger a service
Intent i= new Intent(context, ScheduledService.class);
context.startService(i);
 Selvin28 ago. 2015 00:07
y, por supuesto, dejará de funcionar tan pronto como el dispositivo se vaya a dormir
 Arsal Imam27 ago. 2015 23:49
Sea feliz.... :)
 Seravier27 ago. 2015 23:44
Muchas gracias! Eso es trabajo

predeterminada.

import android.os.Handler;

// Create the Handler object (on the main thread by default)
Handler handler = new Handler();
// Define the code block to be executed
private Runnable runnableCode = new Runnable() {
    @Override
    public void run() {

       sendVolleyRequestToServer(); // Volley Request 

      // Repeat this the same runnable code block again another 2 seconds
      handler.postDelayed(runnableCode, 2000);
    }
};
// Start the initial runnable task by posting through the handler
handler.post(runnableCode);

Su respuesta a la pregunta