flutter - 如何将数据从workmananger的isolate发送到主isolate?

标签 flutter dart hive flutter-workmanager

我的问题是无法从多个隔离打开 flutter Hive。因此,我希望将在 workmananger 任务中获取的数据发送到打开配置单元盒的主隔离区,并在那里对其进行修改以避免损坏它。我应该考虑应用程序何时处于事件状态以及何时处于非事件状态 => 例如当应用程序处于非事件状态时,我直接编辑配置单元文件,因为它只会在工作管理器隔离中打开,而如果应用程序不活动,我将数据发送到主隔离并编辑配置单元文件。我的问题是我不知道如何在 workmanager 任务中跟踪生命周期,也不知道如何将数据发送到主隔离区。问题的任何解决方法或解决方案或如何对上述内容进行编码?先感谢您。

最佳答案

经过一番研究,解决方案如下:
首先,您在主隔离的初始化上注册一个端口,如下所示:void listenToUpdatesFromWorkManager(String name) { var port = ReceivePort(); IsolateNameServer.registerPortWithName(port.sendPort, name); }你给它一个唯一的名字,以便从任何其他打开的隔离中识别它,如下所示:SendPort sendPort = IsolateNameServer.lookupPortByName(name);

关于flutter - 如何将数据从workmananger的isolate发送到主isolate?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65572064/

相关文章:

android - 如何在 flutter 中仅对一个小部件使用 setState 方法?

ios - 将 TikTok 的 iOS 登录套件与 Flutter 结合使用

Flutter Navigation Bar - 从另一个页面更改选项卡

hadoop - 将对象序列文件放入 Hive

hadoop - 无效的表别名或列引用 'SYNTHJOIN_xxxxx'

android - Flutter 运行错误 : You have not accepted the license agreements

Flutter:预览手机图库中的一张或多张图片?

flutter - 如何从Flutter中的API获取字符串值?

dart - Flutter/dart-从mysql服务器数据库下载数据

hadoop - hive :具有多个插入查询:失败:SemanticException应该不会发生