所以我有一个问题,我现有的Flutter Workmanager后台任务没有在应用程序更新后自动更新。
我有一个示例代码,它设置了一个定期的Workmanager作业。
void main() async
{
WidgetsFlutterBinding.ensureInitialized();
Workmanager().initialize(
callbackDispatcher
);
await Workmanager().registerPeriodicTask(
"ExampleTask",
"ExampleTaskPeriodicTask",
initialDelay: Duration(minutes: 15,
frequency: Duration(hours: 1)
);
}
void callbackDispatcher() async
{
Workmanager().executeTask((task, inputData) async
{
await DoSomething();
return Future.value(true);
});
}
如果我在后台任务中更新DoSomething()
,目前它不会为用户更新,它会继续做旧的事情,而不是新的事情。
有没有办法更新后台任务,而用户不必在应用程序自动更新后做任何事情?
2条答案
按热度按时间lskq00tm1#
通过使用adb更新应用程序的测试和调试(flutter run不适合),解决方案是将
existingWorkPolicy: ExistingWorkPolicy.append
添加到周期性任务注册表中。qyswt5oh2#