Meine App überprüft regelmäßig den Standort mithilfe eines Alarms auf BroastcastReceiver
, der einen Dienst startet. Ich weiß, dass ich ein Wakelock erwerben sollte, bevor ich den Service beginne, aber meine Frage ist, wann kann ich es freigeben?Android - Wenn ich LocationManager.requestLocationUpdates verwende, benötige ich einen WakeLock?
Wenn ich den WakeLock frei, nachdem requestLocationUpdates
Aufruf kann das Gerät schlafen gehen und rufen Sie nicht mein LocationListener
oder wird das Gerät immer aufwacht Updates zu liefern und wach bleiben, bis der Rückruf zurückgekehrt ist? Ich zögere, den Wakelock festzuhalten, weil das das Gerät daran hindern würde, zwischen Aktualisierungen zu schlafen, bis ich mit dem Ort fertig bin.
Meine Vermutung ist, dass das Anfordern von Standortaktualisierungen einen Wakelock enthält, damit Sie Ihren freigeben können. Was machst du jedoch, dass Sie Ortsaktualisierungen benötigen, wenn das Telefon schläft? – Falmarri
Ich denke, es gibt wahrscheinlich viele Anwendungsfälle für Standortaktualisierungen, während das Gerät schläft, z. Aufnahme von GPS-Tracks einer Reise. –
Sie könnten sich [CommonsGuy's 'WakefulService'] [1] ansehen, was laut der Dokumentation mit den partiellen Wakelock-Sachen für Sie umgehen kann. [1]: http: //github.com/commonsguy/cwac-wakeful#readme –