每 10 分钟运行一次后台任务以更新服务器的设备位置

问题描述 投票:0回答:1

我正在编写一个 flutter 应用程序(Android 和 IOS),需要每 10 分钟发送一次设备位置。 即使应用程序位于后台或终止,此任务也需要继续在后台运行。 当用户靠近应用程序的另一个用户时,服务器使用该位置向应用程序发送后台通知。 我知道操作系统对后台任务设置了很多限制,并且频繁的位置更新会对电池寿命产生影响。

实现这一要求的最佳策略是什么?

我见过像 workmanager 和 flutter_background_service 这样的包 - 但从他们的文档来看,最小间隔是 15 分钟,并且不能保证。 还有一些用于获取后台位置的包(例如background_location或background-location-tracker)。这些是由位置变化而不是时间间隔触发的,我担心如果每天运行多个小时,它们可能会消耗更多电池。

android ios flutter mobile geolocation
1个回答
0
投票

您应该实现带有(或不带有)包的隔离,并在该隔离中实现一个定期计时器,每 10 分钟执行一次您需要的操作。

© www.soinside.com 2019 - 2024. All rights reserved.