2013-04-17 4 views
5

Je suis nouveau sur Android. Je veux obtenir les emplacements GPS à un intervalle de 3 minutes, mais je reçois des mises à jour de localisation toutes les secondes.Comment éviter les mises à jour fréquentes?

Comment puis-je éviter cela?

Suggérez quelque chose. J'utilise le code suivant:

captureFrequencey=3*60*1000;  
LocationMngr.requestLocationUpdates(
    LocationManager.GPS_PROVIDER, captureFrequencey, 0, this); 
+1

Vous devriez poster plus de code, il est difficile de dire quoi que ce soit sur la base de cet extrait. – Egor

Répondre

3
LocationMngr.requestLocationUpdates(LocationManager.GPS_PROVIDER, captureFrequencey, 0, this); 

C'est parce que vous définissez la distance minimale à 0. Pour changer à 100 mètres et vérifier!

LocationMngr.requestLocationUpdates(LocationManager.GPS_PROVIDER, captureFrequencey, 100, this); 


Référez-vous au documentation.

+0

Merci beaucoup! Ça a marché. J'ai changé la distance minimale à 100. –

+0

Glad it helps! Veuillez l'accepter comme réponse quand c'est possible. –

+0

J'ai accepté votre réponse. Merci encore une fois –

0

Voir les stratégies de localisation dans docs

2

Ninja Lazy vous a déjà donné la solution.
Mais vous devez comprendre que, lorsque vous appelez l'emplacement de la demande de mises à jour, il vérifie les conditions min heure & min dist et si quelqu'un est vrai, il attrape l'emplacement. Dans votre code

LocationMngr.requestLocationUpdates(LocationManager.GPS_PROVIDER, 
               captureFrequencey, 0, this); 

vous avez mentionné 0 comme distance min, cette condition est toujours vraie. Donc, vous obtenez des mises à jour de localisation fréquentes.
Espérons que cette info vous aide.

+0

Merci beaucoup sachin.surya89 –

+0

le plus cher ami –

0

Juste un point rapide à ajouter aux bonnes réponses fournies ... réglage de la durée de mise à jour & distance ne fonctionnera pas exactement la même sur tous les appareils.

Ces paramètres sont considérés comme des "indications" pour le fournisseur de localisation.

Donc, même si c'est une bonne pratique, certains appareils peuvent ne pas toujours obéir à ces valeurs exactes.

Questions connexes