Flutter 如何恢复颤振中的最后一条路径
我正在开发一个颤振应用程序,我有一个问题。 在main.dart中,我设置了一个主路径,即“FirstScreen”,然后用户可以进入LoginScreen登录帐户。因此,如果我按下home按钮,然后尝试重新打开应用程序,出现的屏幕是FirstScreen,那么如何显示用户看到的最后一条路线 我在Flatter文档和StackOverflow中的其他问题上搜索了一些解决方案,但没有找到适合我的 这是我主要的飞镖造型Flutter 如何恢复颤振中的最后一条路径,flutter,dart,Flutter,Dart,我正在开发一个颤振应用程序,我有一个问题。 在main.dart中,我设置了一个主路径,即“FirstScreen”,然后用户可以进入LoginScreen登录帐户。因此,如果我按下home按钮,然后尝试重新打开应用程序,出现的屏幕是FirstScreen,那么如何显示用户看到的最后一条路线 我在Flatter文档和StackOverflow中的其他问题上搜索了一些解决方案,但没有找到适合我的 这是我主要的飞镖造型 Widget build(BuildContext context) {
Widget build(BuildContext context) {
return MaterialApp(
home: FirstScreen(),
routes: {
'/screen1' : (context) => Screen1(),
'/homeScreen' : (context) => HomeScreen(navigatorKey: navigatorKey,),
'/registerScreen' : (context) => RegisterScreen(),
'/screen2' : (context) => Screen2(),
'/firstScreen' : (context) => FirstScreen(),
'/userProfileScreen' : (context) => UserProfileScreen(),
},
navigatorKey: navigatorKey,
);
您需要跟踪用户访问过的最新路线,并将其存储在某个持久的位置,以便在应用程序重新启动后仍然有效。也许可以将共享首选项包看作一种简单的方法:
当应用程序启动时,查看共享首选项以查看是否存储了上一条路线,并导航到该路线(或将其设置为主路线)。如果没有,则返回第一个屏幕作为默认设置。我已经找到了一个解决方案,使用WidgetBindingObserver,并将这一行放在下面:
WidgetsBinding.instance.addObserver(this)代码>在每个StatefulWidget initState中