J'essaie de déterminer si un utilisateur Android a été à proximité d'une liste d'emplacements prédéterminés. Je voudrais faire cela avec le moins de drain sur la batterie du téléphone. Les deux mécanismes que je vois pour accomplir ceci sont proximity alerts et requesting location updates. Quels sont les avantages et les inconvénients des deux méthodes? Est-ce que l'un aura moins d'effet sur la batterie que l'autre? Dans les deux cas je devinerais le location manager used would have some affect power usage (existing Stack Overflow answer) spécifique.Déterminer la proximité du téléphone Android à un point connu tout en économisant l'énergie
Répondre
Les mises à jour de localisation sont probablement moins coûteuses que les alertes de proximité en termes d'utilisation de la batterie.
Depuis 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 suggère qu'elle limite les vérifications de proximité à une fois toutes les quatre minutes lorsque l'écran est éteint, je ne trouve pas le code pour supporter une telle fonctionnalité et ce que je peux trouver est essentiellement call to requestLocationUpdates
with a minimum time interval hint of 1000 ms. valeurs plus de 60000 ms, je soupçonne qu'il serait moins coûteux d'appeler requestLocationUpdates
directement avec un grand intervalle de temps minimum et NETWORK_PROVIDER
.