Obtenga la ubicación de Android GPS una vez cada pocos minutos

Me gustaría escribir una aplicación en Android para subir mi ubicación GPS a un sitio web externo una vez cada ~ 5 minutos. Esto necesita tener un impacto mínimo en la vida de la batería como sea posible, pero también necesita trabajar sin ninguna interacción del usuario. (Antecedentes: Estoy compitiendo en un triatlón de Ironman, que me llevará cerca de 14 horas para completar, y quiero transmitir mi ubicación en casi tiempo real, pero sin tener que preocuparse por tocar mi teléfono).

Así que mi pensamiento inicial es escribir un servicio que utiliza LocationManager.requestLocationUpdates () con un minTime de 5 minutos, pero esto realmente despertar el dispositivo cada 5 minutos para mi servicio para hacer su trabajo?

Suena como yo también necesitaría utilizar AlarmManager.setInexactRepeating () para asegurarse de que mi servicio está despierto mientras completa su tarea, pero ¿cómo funciona eso con requestLocationUpdates ()? ¿Debo fijar minTime = 0 en requestLocationUpdates () pero luego volver a dormir tan pronto como se obtiene la próxima actualización?

Cualquier orientación general sobre cómo diseñar esto es muy apreciada. Soy un programador Java competente y usaré Google Maps en el servidor para trazar mi ubicación, pero soy bastante nuevo en el desarrollo de Android, así que básicamente busco un plan de alto nivel sobre cómo diseñar la aplicación cliente.

Su servicio debe estar activo todo el tiempo que desee recibir actualizaciones.

http://developer.android.com/reference/android/location/LocationManager.html#requestLocationUpdates%28java.lang.String,%20long,%20float,%20android.location.LocationListener%29

Puede indicar la frecuencia con la que desea que se le informe del cambio de ubicación con el parámetro minTime. Sin embargo, no disminuye el consumo de la batería. El GPS está habilitado a menos que utilice el método removeUpdates sin importar la frecuencia con la que desee recibir actualizaciones.

Puedes usar otro approache: habilitar GPS usando el método anterior, leer un valor, usar el método removeUpdates, esperar 5 minutos y todo de nuevo. El retraso entre habilitar y recuperar una ubicación puede ser entre pocos segundos o pocos minutos.

  • ¿Cómo obtener el dato real que android GPS está usando?
  • Servicios de Google Play o Servicios de ubicación de Android
  • Tiempo del GPS en Android
  • Cálculo de la distancia dentro de un edificio
  • ¿Qué precisión tiene Android GPS?
  • Usar ubicación simulada sin configurarla en la configuración
  • Intervalo requestLocationUpdates en Android
  • GpsSatellite.getSnr () - ¿Cuál es el rango de valor?
  • GpsStatus.Listener sólo funciona si el GPS está activado
  • Que es la mejor manera de calcular la velocidad en android si "cálculo manual utilizando coordenadas GPS" o "location.getSpeed"?
  • ACCESS_FINE_LOCATION permiso
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.