Was bedeutet android.location.LocationManager.PASSIVE_PROVIDER?

8

Ich verstehe die Bedeutung von GPS_PROVIDER (Standorte stammen von GPS-Signalen) und < a href="http://developer.android.com/reference/android/location/LocationManager.html#NETWORK_PROVIDER"> NETWORK_PROVIDER (Standorte werden von Mobilfunkmasten und Wireless Access Points bestimmt), aber ich nicht verstehe die Bedeutung von PASSIVE_PROVIDER trotz der Definition in der API:

  

Ein spezieller Standortanbieter für   Empfangen von Orten ohne tatsächlich   Initiierung einer Standortkorrektur Dies   Provider kann passiv verwendet werden   Erhalten Sie Standortaktualisierungen wenn andere   Anwendungen oder Dienste fordern sie an   ohne tatsächlich das zu verlangen   Orte selbst. Dieser Anbieter wird   von anderen erzeugte   Anbieter. Sie können das abfragen   getProvider () -Methode zum Ermitteln der   Ursprung der Standortaktualisierung   Erfordert die Erlaubnis   android.permission.ACCESS_FINE_LOCATION,   obwohl wenn das GPS nicht aktiviert ist   Dieser Anbieter kann nur grob zurückgeben   Korrekturen.

Warum sollte man das anstelle eines der anderen Anbieter verwenden? Um Akkulaufzeit zu sparen? Gibt der passive Anbieter nur dann nützliche Informationen zurück, wenn eine andere App explizit Daten von den realen Anbietern anfordert, oder ist es immer sicher, Standorte von diesem anzufordern?

    
Ellen Spertus 13.04.2011, 20:31
quelle

2 Antworten

18

Dieser Provider ist nützlich für Dienste, die mit dem Standort des Benutzers arbeiten, aber nicht die Akkulaufzeit verlieren wollen, wie Sie darauf hingewiesen haben.

Google Latitude sendet beispielsweise Ihren aktuellen Standort an einen Webdienst, damit Ihre Freunde wissen, wo Sie sich gerade befinden. Wenn dieser Dienst alle 5 Minuten einen GPS-Fix anfordern würde, ist der Akku des Geräts sehr schnell leer. Wenn der Dienst einen passiven Standortanbieter anfordert, wird bei jedem Start von Google Maps ein Standort gesendet, und ein festgelegter Fix oder einige andere Apps initiieren eine Standortanbieteraktualisierung, und der Dienst kann Standortdaten verarbeiten, ohne die Standortaktualisierungen zusätzlich zu beanspruchen.

Wenn Sie die richtigen Standortdaten zu einem bestimmten Zeitpunkt benötigen, hilft Ihnen dieser Anbieter nicht weiter. Für die meisten Dinge, die nicht in einem Hintergrunddienst ausgeführt werden, ist dieser Standortanbieter nutzlos, da er Aktualisierungen nur sendet, wenn andere Anwendungen eine Aktualisierung des Benutzerstandorts auslösen.

    
Janusz 13.04.2011, 20:38
quelle
3

Wenn Sie zu @Janusz hinzufügen, wenn Sie eine Reparatur erhalten, die an den Provider eines anderen Nutzers gerichtet ist, und Sie wissen möchten, von welchem ​​Anbieter diese Reparatur stammt (NETWORK oder GPS), können Sie getProvider () aufrufen, um dies zu finden. p>     

advantej 13.04.2011 20:42
quelle