我正在使用 Flutter 构建 Wear OS 应用程序(我不认为这是与 flutter 相关的问题)。
我的应用程序需要每 2 秒从 BLE 设备读取数据。 我正在尝试在前台服务中运行每 2 秒读取一次的持久任务。
当应用程序进入后台时,它会在某个时间暂停。 例如,如果任务在后台运行 10 分钟(我一直可以看到前台通知),那么它在本地数据库中收集的数据似乎会在几分钟后暂停,然后当应用程序再次来到前台时继续。
如何解决这个问题?我希望应用程序在后台运行,直到用户停止它。
谢谢!
当我想从前台服务检索传感器数据时,我遇到了类似的问题。一段时间后,我停止接收传感器更新。
设备可能会进入省电模式,也称为 DOZE 模式。 您可以尝试使用唤醒锁来保持 CPU 唤醒。 有关 Android 中唤醒锁的更多信息,请访问:https://developer.android.com/develop/background-work/background-tasks/scheduling/wakelock#cpu
Flutter 中的等效内容应该是这样的:https://pub.dev/packages/wakelock