如何将数据发送到主隔离区?



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

经过一些研究,解决方案如下:

首先,在初始化主隔离时注册一个端口,如下所示:

void listenToUpdatesFromWorkManager(String name) { var port = ReceivePort(); IsolateNameServer.registerPortWithName(port.sendPort, name); }

你给它一个唯一的名字,以便从任何其他打开的分离株中识别出来,比如:

SendPort sendPort = IsolateNameServer.lookupPortByName(name);

最新更新