Ich möchte den Standort des Benutzers konsultieren, wenn die Anwendung geschlossen ist oder im Hintergrund, um eine Push-Nachricht zu senden. Was ist der beste Weg, um die Batterie nicht zu leeren? Gibt es dafür eine gute Bibliothek?Was ist der beste Weg, um GPS in einem Android-Dienst zu verwenden, ohne das Batery zu leeren? Gibt es dafür eine gute Bibliothek?
Antwort
Google stellt seine Location Services API zur Verfügung, die viele nützliche Informationen enthält. Hier ist ein paar Dinge zu beachten, wenn Sie es verwenden https://www.toptal.com/android/android-performance-tips-tools#location-updates
Mein Freund FusedLocationApi
wird Ihnen helfen. Vorteile davon: schneller und effizienter Batterieverbrauch im Vergleich zu Android's
LocationProvider
.
Zuerst müssen Sie ein STICKY_SERVICE
lesen Service-Tutorial erstellen: Android Service, und suchen Sie danach. Dann in Ihrem Service verbinden Sie Ihre FusedLocationApi
und erhalten Sie Location
Informationen, wenn Location
ändern. Behandle dann den neuen Standort. Auch gibt verschiedene Modi, wenn Sie Location
Informationen zu erhalten, können Sie sehen unter:
/* Information taken from : http://blog.lemberg.co.uk/fused-location-provider
Priority update interval Battery drain per hour (%) Accuracy
HIGH_ACCURACY 5 seconds 7.25% ~10 meters
BALANCED_POWER 20 seconds 0.6% ~40 meters
NO_POWER N/A small ~1 mile
*/
Sie können dieses Tutorial für Anfänger lesen: beginners-guide-location-android und Ihre Frage aktualisieren, was Sie versucht, und wir werden Ihnen helfen, einfach!