如何解决打开应用程序时停止 Workmanager Flutter
当应用程序在后台时,我希望 workamnager 执行任务以获取数据。当应用程序打开并处于活动状态时,我想停止它。我如何实现这种行为。提前致谢。
解决方法
使用WidgetsBindingObserver来获取应用生命周期的状态,inactive、pause、suspend你注册worker,resumed,你取消worker,workmanager:
class _MyHomePageState extends State<MyHomePage> with WidgetsBindingObserver {
@override
void initState() {
WidgetsBinding.instance.addObserver(this);
super.initState();
}
@override
void dispose() {
WidgetsBinding.instance.removeObserver(this);
super.dispose();
}
@override
void didChangeAppLifecycleState(AppLifecycleState state) {
//TODO add your worker action here
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Flutter Tutorial Lifecycle'),),body: Center(),);
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。