在Flutter中,有没有办法在用户离开应用程序并更新回来时更新小部件?我的应用程序是基于时间的,尽快更新时间会很有帮助 .
您可以收听生命周期事件
class LifecycleEventHandler extends WidgetsBindingObserver { LifecycleEventHandler({this.resumeCallBack, this.suspendingCallBack}); final FutureVoidCallback resumeCallBack; final FutureVoidCallback suspendingCallBack; @override Future<Null> didChangeAppLifecycleState(AppLifecycleState state) async { switch (state) { case AppLifecycleState.inactive: case AppLifecycleState.paused: case AppLifecycleState.suspending: await suspendingCallBack(); break; case AppLifecycleState.resumed: await resumeCallBack(); break; } } } class AppWidgetState extends State<AppWidget> { void initState() { super.initState(); WidgetsBinding.instance.addObserver( new LifecycleEventHandler(resumeCallback(() => setState((){})) ); } ... }
使用系统 Channels :
import 'package:flutter/services.dart'; SystemChannels.lifecycle.setMessageHandler((msg){ debugPrint('SystemChannels> $msg'); if(msg==AppLifecycleState.resumed.toString())setState((){}); });
`
2 回答
您可以收听生命周期事件
使用系统 Channels :
`