2010-07-13 9 views
7

J'ai remarqué que des applications comme le statut GPS obtiennent une solution assez rapidement. Lorsque j'essaie d'obtenir un correctif dans ma propre application, cela prend plus de temps. Est-ce que quelqu'un sait pourquoi cela se passe-t-il? Utilisent-ils une partie cachée de l'API pour forcer le GPS à se connecter plus rapidement?Correction GPS plus rapide dans Android

Voici ce que j'utilise

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

Je veux que le GPS pour donner des résultats aussi fréquents que possible parce que j'ai besoin pour une application AR :) Bien que je mettre des paramètres comme 1000 ms et 1 m pour la mise à jour fréquence sans différence perceptible dans la vitesse de réparation.

Répondre

5

pourrait être l'une de plusieurs approches: (. Qui, étant donné le nombre d'applications utiliser les données de localisation, devraient généralement être « assez proche » sinon mort précis)

  • En utilisant LocationManager.getLastKnownLocation
  • En utilisant LocationManager.NETWORK_PROVIDER au lieu de LocationManager.GPS_PROVIDER pour obtenir une correction approximative immédiate, puis affiner avec GPS (si disponible).
  • exécution d'un service en arrière-plan qui reçoit périodiquement la dernière position et il met en cache (essentiellement les mêmes que LocationManager.getLastKnownLocation, mais faire vous-même)
3

Voilà ma stratégie: vérifier this réponse StackOverflow.