Wie verhindere ich, dass meine GPS-Tracking-App beendet wird?

Ich verwende einen sehr einfachen Open-Source-Android-GPS-Tracker:

https://github.com/herverenault/Self-Hosted-GPS-Tracker

Ich habe es so eingestellt, dass alle 30 Sekunden GPS-Koordinaten von meinem Telefon an meinen Server gesendet werden. Das Problem ist: Manchmal funktioniert es und manchmal schläft es 3 Minuten oder 8 Minuten lang oder scheint manchmal vollständig gestoppt zu sein.

Woran kann das liegen und gibt es Möglichkeiten, dies zu verhindern?

Dies ist keine "geheime" App oder in irgendeiner Weise bösartig; die Person, die es betreibt, weiß, dass sie es betreibt. Ich möchte nur nicht, dass der Benutzer die App alle 5 Minuten oder sogar jedes Mal neu startet, wenn er sein Gerät neu startet (was laut Code bereits unterstützt wird).

Ich verwende dies auf mehreren Geräten, aber mein Haupttelefon ist ein Galaxy S5 mit 6.0.1

Antworten (1)

Das Android-Betriebssystem versucht absichtlich zu verhindern, dass Anwendungen wie diese ausgeführt werden, um eine Entladung des Akkus zu verhindern. Speziell für Android 6 müssen Sie die Doze- und App-Standby- Funktionen kennen . Doze verhindert, dass Anwendungen ausgeführt werden, wenn das Gerät nicht verwendet wird. App-Standby verschiebt die Netzwerkaktivität für selten verwendete Anwendungen. Beides wirkt sich wahrscheinlich auf Ihre Nutzung aus.

Das Ausführen von GPS (eigentliches GPS, nicht nur Ortungsdienste) ist ein enormer Stromverbrauch.

Wenn Sie sich nicht um Strom kümmern, können Sie Folgendes versuchen:

  1. Lassen Sie das Gerät mit Ihrer Anwendung im Vordergrund eingeschaltet.
  2. Setzen Sie Ihre Anwendung für Doze und App-Standby auf die Whitelist (siehe obigen Link).
Ich bin mit diesen vertraut, und ich weiß, dass GPS einer der (wenn nicht der) größten Batterieverbraucher ist. Trotzdem möchte ich, dass mein Tracker trotzdem Updates veröffentlicht . Gibt es keine Möglichkeit, dieses "Laufen bleiben"-Verhalten in Android zu erzwingen?