我正在开发Flutter应用,但遇到了问题。
在我的main.dart中,将家庭路由设置为“FirstScreen”,然后用户可以转到LoginScreen登录该帐户。因此,如果我按下主页按钮,然后尝试重新打开该应用程序,则出现的屏幕是FirstScreen,那么如何显示用户看到的最后一条路线?
我在Flutter文档和StackOverflow中的其他问题上搜索了一些解决方案,但没有找到对我有用的方法。
这是我的main.dart版本。
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,
);
最佳答案
您需要跟踪用户访问过的最新路线,并将其存储在持久的位置,以便在应用程序重启后不受影响。也许将共享首选项包视为一种简单方法:
https://pub.dev/packages/shared_preferences
应用启动时,查看共享首选项以查看是否存储了先前的路线,然后导航至该路线(或将其设置为本地路线)。如果不是,请默认使用FirstScreen。
关于flutter - 如何在Flutter中恢复最后一条路线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56998306/