当使用flutter关闭应用程序时,是否可能会运行类似“后台服务”的代码?

时间:2019-05-08 22:17:31

标签: flutter

即使关闭应用程序,我也需要每30秒运行一次dart代码。这是可能的?

建议的一些解决方法是使用Android的AlarmManager,但是我没有找到iOS的解决方案。

2 个答案:

答案 0 :(得分:2)

是的,有可能。您可以在后台运行Flutter。

  

在Flutter中,您可以在后台执行Dart代码。

     

此功能的机制涉及设置隔离。   隔离是Dart的多线程模型,尽管是隔离   与传统线程的不同之处在于它不共享内存   与主程序。您将设置隔离背景   使用回调和回调调度程序执行。

来源:Background processes

答案 1 :(得分:1)

关于如何在应用程序关闭且不运行某些本机代码的情况下如何实现隔离工作,没有一篇很好的文章。总共,我花了整整2天的时间来尝试为此找到一个程序包,但没有任何可行的方法。当应用程序被杀死并且Flutter Workmanager只能执行打印语句,但不能接受任何函数或任何方法调用时,Flutter_Isolate不会运行。最终可悲,非常烦人。似乎唯一的解决方案是在关闭应用程序时编写本机代码来处理后台任务。羞愧扑朔迷离。