如何在 flutter 后台 运行 飞镖代码?

How can I run dart code in the background in flutter?

我想 运行 我的 main.dart 文件中的一个方法,来自我应用程序的 android(Kotlin) 部分。为此,我正在使用 methodChannels 并且当应用程序处于前台时它工作得很好。但是,应用程序被终止的那一刻,flutterView 被破坏,因此我无法 运行 我的 main.dart 文件中的任何方法。

我读到使用 FlutterNativeView 可以让我做我想做的事,但我找不到小代码片段来帮助我。

如果你能帮我解决这个问题就太好了

谢谢!!

In Flutter, you can execute Dart code in the background.

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

For more information and a geofencing example that uses background execution of Dart code, see the Medium article by Ben Konyi, Executing Dart in the Background with Flutter Plugins and Geofencing。在本文末尾,您将找到示例代码的链接,以及 Dart、iOS 和 Android.

的相关文档

您可以编写 Firebase 实时数据库的本机代码。您可以查看 this.

您应该创建一个自定义插件并将本机代码放入该插件中,因为直接将文件写入 Flutter android 文件夹会使项目在未来变得难以管理,并且您可能会面临多个意外问题。