Android: envíe datos de ubicación en segundo plano periódicamente (cada 30 segundos) y solicite al servidor nuevos datos

Guión:

Publique en el servidor para obtener datos nuevos en segundo plano cada 30 segundos durante un período prolongado, es decir, 12 horas. Los datos de ubicación deben ser enviados junto con esto.

Implementación actual;

Clase de servicio;

Detector de ubicación con intervalo de 30 segundos que establece los valores de longitud y latitud en dos variables localesEl administrador de alarmas dispara la Intención pendiente cada 30 segundos a un receptor de difusión.El receptor de difusión inicia un IntentService con variables de ubicación en los extras.La ubicación de publicaciones de IntentService http y solicita datos nuevos del servidor.

IntentService envía la respuesta del servidor a la clase de servicio principal a través del receptor de difusión.

La clase de servicio starts_sticky garantiza el reinicio del sistema operativo.

He intentado algunas variaciones diferentes;

He intentado usar un controlador y se puede ejecutar para manejar el mecanismo de tiempo para la publicación en el servidor; sin embargo, el tiempo de demora posterior fue de 2 a 7 minutos cuando el dispositivo está inactivo.

Además, intentó disparar IntentService directamente desde el administrador de alarmas, pero no pudo cambiar los extras PendingIntent con las variables de ubicación más actualizadas.

Preguntas;

¿Es la implementación actual el camino a seguir?

¿Sería mucho más beneficioso bajar la ruta GCM de Google?

¿Cómo puede probar vigorosamente la clase de servicio, especialmente con respecto a la recuperación del sistema operativo que lo está matando?

Gracias por adelantado.

Respuestas a la pregunta(1)

Su respuesta a la pregunta