Déterminer la proximité du téléphone Android au point connu tout en conservant le pouvoir
-
27-09-2019 - |
Question
Je suis en train de déterminer si un utilisateur Android a eu une grande proximité à une liste d'emplacements prédéterminés. Je voudrais le faire avec le moins de la batterie sur vidange du téléphone. Les deux mécanismes que je vois pour y parvenir sont proximité des alertes demandant des mises à jour de l'emplacement . Quels sont les avantages et les inconvénients des deux méthodes? Aura-t-on avoir moins incidence sur la batterie que l'autre? Dans les deux cas, je suppose que le spécifique manager emplacement utilisé aurait une incidence sur la consommation d'énergie (pile existante réponse Overflow) .
La solution
Mises à jour de l'emplacement sont probablement moins cher que des alertes de proximité en termes d'utilisation de la batterie.
Étant donné que addProximityAlert
utilise à la fois NETWORK_PROVIDER
et GPS_PROVIDER
, vous perdez la possibilité de choisir quel fournisseur que vous souhaitez utiliser. De plus, alors que la documentation indique qu'elle limite les contrôles de proximité à une fois toutes les quatre minutes lorsque l'écran est éteint, je ne peux pas trouver le code pour soutenir cette fonctionnalité et ce que je peux trouver est essentiellement un appel à requestLocationUpdates
avec un soupçon d'intervalle de temps minimum de 1000 ms. comme il est recommandé que les services de base utilisent des valeurs plus de 60000 ms, je pense qu'il serait moins coûteux d'appeler requestLocationUpdates
directy avec un grand intervalle de temps minimum et NETWORK_PROVIDER
.