Geolocator (13.0.2) wird verwendet, um Standortaktualisierungen auf iOS abzurufen. Der Hintergrundmodus wird auch verwendet, um einen Koordinatenstrom abzurufen, selbst wenn die App im Hintergrund läuft. Es wurde festgestellt, dass die App auch nach dem Abbrechen des Positionsstreams immer noch auf das GPS zugreift, wenn die App in den Hintergrundmodus wechselt und wieder in den Vordergrundmodus wechselt. Dies wird durch das Standortsymbol in der Statusleiste des iPhone bestätigt. Allerdings erhält die App nach dem Abbrechen des Streams keine Standortkoordinaten, was den Akku jedoch stark belastet.
Code: Select all
StreamSubscription? _locationStream;
void startLocationStream() {
_locationStream = Geolocator.getPositionStream(
locationSettings: AppleSettings(
accuracy: LocationAccuracy.best,
allowBackgroundLocationUpdates: true,
),
).listen(coordinateLogic);
}
void stopLocationStream() {
_locationStream?.cancel().then((_) {
_locationStream = null;
});
}
