2017-08-24 5 views
0

Ich habe eine Situation in der Android-Implementierung.GPS-Informationen sammeln, wenn App beendet wird

Es gibt ein Szenario, dass App vom Benutzer beendet/getötet wird, mit anderen Worten, die Anwendung läuft nicht auf Android-Gerät mehr, können wir noch irgendwelche Standort (GPS) Informationen sammeln?

Wenn nicht, denke ich, eine stille Push-Benachrichtigung zu implementieren, um eine Methode aufzurufen, um Standortinformationen zu erhalten und sie alle 10 Minuten an den Server zu senden. Ist es vernünftig und machbar?

Antwort

0

Auf älteren Geräten können Sie eine Service ausführen, die im Hintergrund ausgeführt wird und weiterhin ausgeführt werden kann, wenn die Anwendung beendet wird. Auf neuen Geräten, auf denen Android Oreo ausgeführt wird, müssen Sie Foreground Service ausführen. Google hat viele Beschränkungen für den Standort im Hintergrund hinzugefügt, um die Akkulaufzeit von Geräten zu verbessern. Sie können darüber nachlesen here.

Wenn Sie den Dienst im Hintergrund ausführen, sollte dieser Dienst dennoch immer ausgeführt werden, wenn der Benutzer die Anwendung beendet.

+0

Bezug auf Ihren letzten Satz..user beendet die Anwendung bedeutet, schließen Sie die App oder beendet/killt die App? – hotspring

+0

Das bedeutet, dass die Anwendung geschlossen wird, indem Sie von den letzten Anwendungen wischen, oder indem Sie die Zurück-Taste drücken, bis die Anwendung nicht mehr sichtbar ist. Wenn der Benutzer in die Einstellungen wechselt und "force stop" drückt, wird er ebenfalls beendet. Sie können einen AlarmService ausführen, der prüft, ob Ihr Dienst noch läuft, um dies zu verhindern. –

+0

Wenn die Anwendung beendet wird, denke ich daran, eine stille Push-Benachrichtigung zu implementieren, um eine Methode aufzurufen, um Standortinformationen abzurufen und sie alle 10 Minuten an den Server zu senden. Ist es vernünftig und machbar? – hotspring

Verwandte Themen