如何解决带有 StateFull 小部件的 Flutter WorkManager 后台获取示例
我在 StateFull 小部件中有一个名为 control 的函数。我想每 15 分钟用 WorkManager 运行一次这个函数。
如何从 callbackdispatcher 函数中调用控制函数? 我向 Statefull 小部件静态添加了一个 Stream,然后听了它,但它没有用。
HomeScreen.dart 文件
import 'package:Flutter/material.dart';
import 'package:workmanager/workmanager.dart';
const taskKontrol = "control";
class HomeScreen extends StatefulWidget {
@override
_HomeScreenState createState() => _HomeScreenState();
}
class _HomeScreenState extends State<HomeScreen> {
@override
Widget build(BuildContext context) {
return Container();
}
@override
void initState() {
super.initState();
setupWorkManager();
}
void control() async
{
//... my code control is here
}
}
void setupWorkManager() async {
await Workmanager.initialize(callbackdispatcher,isInDebugMode: true);
Workmanager.registerPeriodicTask(taskKontrol,taskKontrol,frequency: Duration(seconds: 10),existingWorkPolicy: ExistingWorkPolicy.append
);
}
void callbackdispatcher() {
Workmanager.executeTask((taskName,inputData) async {
switch(taskName)
{
case taskKontrol:
// How can I call the control function from here?
print("control from workmanager");
break;
}
return Future.value(true);
});
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。