2016-07-05 21 views
2

Ich weiß, dass es eine Technik gibt, mehr als 100 Geofence zu Google API-Client zu aktualisieren. Aber ich möchte eine komplette Lösung, um mehr als 100 Geofence oder irgendeine Bibliothek hinzuzufügen, um es zu erreichen. Ich habe mein Projekt bereits mit Google API Client durchgeführt. Aber es gibt nur eine Begrenzung von 100 Geofence.Bibliothek zu aktualisieren mehr als 100 Geofence

Gibt es eine Bibliothek oder eine andere Technik, um mehr als 100 Geofence zu aktualisieren?

Und alle diese Prozesse sollten im Hintergrund ausgeführt werden. Ich meine, auch nachdem der Anwendungsprozess beendet wurde, sollte dies im Hintergrund laufen. Ist es möglich?

Vielen Dank im Voraus.

+0

Mögliche Duplikate von [Android - müssen mehr als 100 Geofences hinzufügen] (http://stackoverflow.com/questions/29670504/android-need-to-add-more-than-100-geofences) – CaptainBli

+0

Yeah .. Ich folgte diesem .. und ich bekam Ausgabe .. aber die Sache ist, dass ich alles im Hintergrunddienst laufen lassen muss. ich bedeute sogar, wenn Anwendungsprozeß getötet wird, sollte der oben genannte Prozeß im Hintergrund laufen. würden Sie irgendeine Idee vorschlagen dafür?? @CaptainBli –

+0

Sorry, nicht mehr als der andere Beitrag. Obwohl ich +1 werde. – CaptainBli

Antwort

1

Das Problem mit mehr als 100 Geofences ist, dass abhängig von der Nähe zum Benutzer und wie viele Geofences Sie tatsächlich haben, kann es zu einem ernsthaften Batterieverbrauch aufgrund der ständigen Standortabfrage werden. Ich bin mir nicht sicher, wie Sie Ihre Geofences implementieren möchten, aber ich würde vorschlagen, dass Sie nur Geofences in Ihrem unmittelbaren und umgebendem Gebiet laden, den Rest in einer Datenbank speichern und abhängig von Ihrem aktuellen Standort und Entfernung von der Rand der Geofences. Bing kam mit diesem netten Tilingsystem, das für Sie nützlich sein könnte.

+0

Ihr Vorschlag ist richtig. Ich habe meinen Code implementiert, um nur näher zu kommen, indem ich die Haversine-Formel verwende. Es ist der einzige Weg. Aber das Entleeren der Batterie zu schnell. Vielen Dank für Ihre Antwort. –

+0

Setzen Sie einen passiven Listener in Ihre App und sehen Sie, wie oft Wifi/GPS-Anrufe getätigt werden. Wenn Sie die Anrufe initiieren, stellen Sie sicher, dass Sie die Updates entfernen, da sie einen Wakelock enthalten, der zum Batterieverbrauch beitragen kann. Überprüfen Sie, ob die Netzwerkstandortanrufe höchstens einmal alle 30 Sekunden erfolgen, wobei GPS höchstens jede Minute ist. Dadurch kann das Telefon zwischen Aktualisierungen schlafen und auf lange Sicht Strom sparen. –