如何创建在应用程序关闭时也能工作的 Flutter 后台服务

doc*_*dev 15 rest service android background-process flutter

我正在为大学的学术目的开发 Flutter 应用程序。现在,我需要运行一种“永远在线”的后台服务,以便使用蓝牙,最重要的是从外部 REST API 获取定期更新。

我已经从 pub.dev (thisthis)检查了这两个库,但没有找到开箱即用的完美解决方案(如预期的......)。我还看到了 Kotlin 原生的东西(这里)。我想知道的是实现我的目标的最佳选择是什么(在最佳实践、完整性和简单性方面)。

查看下图以获得更多示意图:

在此处输入图片说明

Jag*_*ago 9

您可能想查看flutter_background_service包。它有助于在后台执行 Dart 代码。

  • 即使应用程序关闭后,flutter_background_service 仍然可以工作吗? (5认同)

Chr*_*ore 7

我可以在 Flutter 应用程序的后台运行 Dart 代码吗?

是的,您可以在 iOS 和 Android 上的后台进程中运行 Dart 代码。有关更多信息,请参阅Medium 文章 Executing Dart in the Background with Flutter Plugins and Geofencing

感谢拉乌夫Rahiche

  • 感谢你的回复。我已经在 Medium 上看过那篇文章了。这很有趣,但我想知道与我需要做的相比,它是否不太复杂。 (11认同)

svp*_*dga 6

对于这种事情,你必须依赖本机机制。

在“始终存在”的后台组件中处理 API 的最有效方法是实现推送通知服务。使用这种技术,远程服务器能够开始与您的应用程序通信,唤醒它,然后执行需要执行的任何任务。

此外,在 Android 中,即使应用程序关闭,前台服务也会运行。