在android中,如果有活动可见,onResume则称为。什么是相当于方法onResume的 颤振 ?
onResume
我需要知道小部件屏幕何时可见,以便可以基于此自动播放视频。我可能会转到另一个窗口小部件屏幕,当我回来时它将自动播放。
我的方法是播放视频,didUpdateWidget但didUpdateWidget即使窗口小部件屏幕不可见,也会被调用。
didUpdateWidget
注意: 我不是在询问didChangeAppLifecycleState来自,WidgetsBindingObserver因为它为onResume应用程序生命周期提供了etc回调,而不是特定的小部件屏幕。
didChangeAppLifecycleState
WidgetsBindingObserver
所有的问题都解决了。
将观察者从小部件树(materialappwidget)的根放置在导航器上。
如果您需要更多说明,请访问此链接:https : //api.flutter.dev/flutter/widgets/RouteObserver- class.html
我已经在我的项目中实现了它,并且工作得很好@ Sp4Rx
// Register the RouteObserver as a navigation observer. final RouteObserver<PageRoute> routeObserver = RouteObserver<PageRoute>(); void main() { runApp(MaterialApp( home: Container(), navigatorObservers: [routeObserver], )); } class RouteAwareWidget extends StatefulWidget { State<RouteAwareWidget> createState() => RouteAwareWidgetState(); } // Implement RouteAware in a widget's state and subscribe it to the RouteObserver. class RouteAwareWidgetState extends State<RouteAwareWidget> with RouteAware { @override void didChangeDependencies() { super.didChangeDependencies(); routeObserver.subscribe(this, ModalRoute.of(context)); } @override void dispose() { routeObserver.unsubscribe(this); super.dispose(); } @override void didPush() { // Route was pushed onto navigator and is now topmost route. } @override void didPopNext() { // Covering route was popped off the navigator. } @override Widget build(BuildContext context) => Container(); }