WorkManager是一个用于排队工作的库,保证在满足约束条件后执行.
因此,在通过Constraints类之后,我没有找到任何函数来为工作添加时间约束.例如,我想在上午8:00开始工作(工作可以是OneTimeWorkRequest或PeriodicWorkRequest中的任何一种).如何使用WorkManager添加约束来安排此工作.
我一直在寻找这个,但没有找到任何包或在Flutter中安排后台任务的方法.就像在Android中一样WorkManager,AlarmManager.
我知道我可以使用这些类来访问这些类MethodChannel,但我想要一些适用于iOS和Android的东西.
(非常令人失望的是,移动框架无法安排后台任务).
在我的扑动应用程序中,我想每隔10秒检查一下我的api.我发现这篇文章每隔x个时间运行一个函数并执行以下操作:
class _MainPage extends State<MainPage> {
int starter = 0;
void checkForNewSharedLists(){
// do request here
setState((){
// change state according to result of request
});
}
Widget build(BuildContext context) {
Timer.periodic(Duration(seconds: 15), (Timer t) => checkForNewSharedLists());
}
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,请求堆积起来:在第一轮"重新启动应用程序"后,有两个请求到api,第二轮是4个请求,第三个是8个等等...
有人知道如何解决这个问题吗?