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?
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.
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>
Tags und Links android location locationmanager