2010-07-13 11 views
7

Me he dado cuenta de que las aplicaciones como el Estado del GPS se solucionan bastante rápido. Cuando trato de obtener una solución dentro de mi propia aplicación, lleva más tiempo. ¿Alguien sabe por qué está pasando esto? ¿Utilizan una parte oculta de la API para obligar al GPS a conectarse más rápido?Fijación de GPS más rápida en Android

Esto es lo que yo uso

LocationManager loc = (LocationManager) context 
      .getSystemService(Context.LOCATION_SERVICE); 
loc.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, 
      listener); 

Quiero que el GPS para dar resultados tan frecuente como sea posible porque lo necesito para una aplicación AR :) A pesar de que poner diferentes ajustes, como 1000 ms y 1 m para la actualización frecuencia sin diferencia perceptible en la velocidad de la corrección.

Respuesta

5

podría ser uno de varios enfoques: (. Que, dada la cantidad de aplicaciones utilizar datos de localización, por lo general debe ser 'lo suficientemente cerca' si no ha muerto exacta)

  • Usando LocationManager.getLastKnownLocation
  • Usando LocationManager.NETWORK_PROVIDER en lugar de LocationManager.GPS_PROVIDER para obtener una solución aproximada inmediata, luego refinar con GPS (si está disponible).
  • Ejecución de un servicio en segundo plano que recibe periódicamente la última posición y lo almacena en caché (básicamente el mismo que LocationManager.getLastKnownLocation, pero hacerlo usted mismo)
3

Aquí está mi estrategia: comprobar this Stackoverflow respuesta.