Open eserdeiro opened 6 months ago
any solution for this? @eserdeiro
any solution for this? @eserdeiro
Hello! I didn't find a solution, I chose to install the "restart-app" package and restart the application when there are changes and the application is in the background.
I have the same question. I was thinking if it would be possible to send like a message/notification to the UI to notify it of the change. I've read something about isolates being able to communicate via ports, and I believe this is using a separate isolate under the hood, so should we be able to use that to send messages?
Yes, this can be done via IsolateNameServer.
Register a port when starting the app:
receivePort = ReceivePort();
IsolateNameServer.registerPortWithName(
receivePort!.sendPort,
'isolate_port',
);
Lookup the port from the worker:
final port = IsolateNameServer.lookupPortByName('isolate_port');
Send data from the worker:
port.send(data);
Listen on the main thread for new data from workers:
receivePort!.listen((data) {
// Update your UI data, for example:
valueNotifier.value = data;
notifyListeners();
});
Hi, to put them in context I am consuming an API, and I save the data to a local database (Hive), then I get this data using a Stream to the local database. When I run Workmanager, when the app is minimized (in my case registerPeriodicTask), doing a get of the api and updating the data every 15', the data is updated in the DB but not in the UI (this happens when the app is in the background and you go back to the app -> foreground ).
I have already tried:
But nothing seems to work. Any idea how to correct it?
This is a basic example of my screen
This is a basic example of mi main
Thanks you.