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?
- Diferencia entre AsyncTask y Thread / Runnable
- Algoritmo de trilateración multipunto en Java
- MBTilesRasterDataSource no se encuentra en nutiteq SDK?
- ¿Cuándo se usa la triangulación de torre celular?
- Intervalo de actualización en requestLocationUpdates
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.
- ¿Cómo puedo comprobar el estado actual del receptor GPS?
- Cómo superar la adquisición de señales GPS
- Realidad Aumentada - Utilizando sólo GPS
- Lista de ordenación de los puntos lon \ lat, comience con los puntos más cercanos
- Android: LocationManager vs Servicios de Google Play
- Obteniendo latitud y longitud utilizando gps cada 10 minutos en segundo plano android
- Localización GPS sin servicio
- No se puede resolver el símbolo ACCESS_FINE_LOCATION
Su servicio debe estar activo todo el tiempo que desee recibir actualizaciones.
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.
- Gradle Error: Índice de cadenas fuera del rango: 0
- ¿Vulnerabilidades en la caché de la clave ofuscada? Licencias de Android