Pregunta

Estoy tratando de limitar mi programa para tomar las actualizaciones de ubicación cada 10 segundos en lugar de cambios constantes con el fin de reducir el consumo de batería. Esto funciona bien cuando estoy en el interior y la depuración de la señal es débil (es decir, el icono parpadea GPS), pero si el teléfono se pone una solución adecuada (es decir, el icono de GPS es estática) la actualización aumenta el intervalo de aproximadamente un segundo.

Yo sé que el código no mLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, updateInterval*1000, 0, this); obligará a los GPS para tomar actualizaciones exactamente en el intervalo dado, pero en mi opinión no debería depender de la intensidad de la señal y fluctúan mucho.

¿Alguna idea?

ACTUALIZACIÓN: véase el comentario

¿Fue útil?

Solución

sospecho que la radio GPS funciona de una manera en que cualquiera que esté conectado a los satélites GPS o no lo es. Cuando está conectado, el SDK de Android que envía actualizaciones con tanta frecuencia como estén disponibles desde el hardware GPS. Cuando no tiene una conexión GPS completo que cae de nuevo a enviar actualizaciones AGPS de acuerdo a lo que usted ha solicitado.

Si sólo desea actualizaciones cada 10 segundos, se debe guardar el valor de tiempo del último Location recibidos en su oyente, y cuando se recibe un nuevo Location comprobar su vez contra el valor de edad; ignorarlo si es demasiado frecuente (o hacer algo más inteligente como la comprobación de la exactitud y la sustitución del valor antiguo, etc.).

Otros consejos

Tal vez funcione más lento debido a que se está depurando, pero no porque la señal es débil! Trate de hacer pruebas con depurador desconectado en el interior ...

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