main.dart
navigatorObservers: [ MyApp.routeObserver, GLObserver(),//全局监听路由 ],
router_listener.dart
class GLObserver extends NavigatorObserver { // 添加导航监听后,跳转的时候需要使用Navigator.push路由 @override void didPush(Route route, Route previousRoute) { super.didPush(route, previousRoute); var previousName = ''; if (previousRoute == null) { previousName = 'null'; }else { previousName = previousRoute.settings.name; print('NavObserverDidPush-Current:' + route.settings.name + ' Previous:' + previousName); } } @override void didPop(Route route, Route previousRoute) { super.didPop(route, previousRoute); var previousName = ''; if (previousRoute == null) { previousName = 'null'; }else { previousName = previousRoute.settings.name; } // print('NavObserverDidPop--Current:' + route.settings.name + ' Previous:' + previousName); } }