Android UbicationManager.RequestLocationUpdates con Mintime> 0 no funciona como se esperaba

StackOverflow https://stackoverflow.com/questions/4245193

  •  27-09-2019
  •  | 
  •  

Pregunta

lo puse

locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 60000, 0f, this);

Tiene un comportamiento extraño, la ubicación se llama cada segundo en lugar de en cualquier momento cercano a 1 minuto. En segundo lugar, UbicationChanged se llama cada segundo durante 10 segundos, luego se detiene por completo, el icono de Satalitas GPS desaparece, luego solo se reanuda nuevamente cuando la pantalla regresa del tiempo de espera de la pantalla.
¿qué ocurre?

Actualmente estoy en Android 1.5.

¿Fue útil?

Solución

El Mintime (60000) es solo una pista, y no hay garantía de que su LocationListener se active en un intervalo exacto de 1 minuto. Combinado con Mindistance = 0, probablemente recibirá muchas más actualizaciones.

Aumentaría la mínimo de la mentalidad al mínimo e implementaría la lógica de compensación para lograr el intervalo de 1 minuto en su código. Su LocationListener se puede implementar de tal manera que si las actualizaciones de ubicación siguen demasiado de cerca, se ignoran y no se procesan.

También obtendrá diferentes ubicaciones a través de su oyente de ubicación, con una precisión diferente, todo dentro de ese intervalo de minuto.

El oyente de su ubicación puede elegir la mejor precisión y recordar cuándo se procesó la última ubicación manteniendo el estado (lastLocationProcessedat).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top