我有以下StreamSubscription,每10米获得一次用户的位置:
StreamSubscription < LocationResult > subscription = Geolocation.locationUpdates(
accuracy: LocationAccuracy.best,
displacementFilter: 10.0,
inBackground: true,
)
.listen((result) {
if (result.isSuccessful) {
saveResult(result);
} else {}
});
然后调用
saveResult(result)将结果保存在Firestore中。当应用程序处于前台时,一切都会按预期工作,但是当它进入后台时,它将在一段时间内将结果保存几百米,然后停止保存。不过,结果仍会继续缓冲,因为当应用重新回到焦点位置时,将重复执行saveResult(result),您可以在firestore中快速观察一个接一个地添加结果。有没有一种方法可以在后台使用该应用程序以更一致的方式更新结果?
答案 0 :(得分:1)
我也遇到了这个问题,我开发了自己的插件来更新后台位置,这里是flutter_background_location。对于android来说还可以,但是我不确定iOS,因为我没有Mac。