2010-06-14 4 views
10

Ich versuche festzustellen, ob ein Android-Benutzer eine bestimmte Liste in der Nähe einer Liste gefunden hat. Ich würde das am wenigsten mit dem Akku des Telefons tun. Die zwei Mechanismen, die ich sehe, um dies zu erreichen, sind proximity alerts und requesting location updates. Was sind die Vor- und Nachteile der beiden Methoden? Wird man die Batterie weniger beeinflussen als die andere? In jedem Fall würde ich die spezifische location manager used would have some affect power usage (existing Stack Overflow answer) erraten.Ermitteln Sie die Nähe des Android-Telefons zu einem bekannten Punkt und sparen Sie dabei Strom

Antwort

7

Standortaktualisierungen sind wahrscheinlich weniger kostenintensiv als Annäherungsalarme in Bezug auf den Batterieverbrauch.

Seit addProximityAlert verwendet sowohl NETWORK_PROVIDER und GPS_PROVIDER, verlieren Sie die Möglichkeit, die Anbieter Sie verwenden möchten, wählen. Während die Dokumentation nahe legt, dass die Abstandsprüfungen bei ausgeschaltetem Bildschirm alle vier Minuten begrenzt werden, kann ich den Code zur Unterstützung dieser Funktionalität nicht finden und was ich finden kann, ist im Wesentlichen ein call to requestLocationUpdates with a minimum time interval hint of 1000 ms. Da es empfohlen wird, Hintergrunddienste zu verwenden Werte über 60000 ms, vermute ich, dass es günstiger wäre, requestLocationUpdates directy mit einem großen Mindestzeitintervall und NETWORK_PROVIDER anzurufen.