如何在 Flutter 中恢复上次路由

2024-05-18

我正在开发 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 https://pub.dev/packages/shared_preferences

当应用程序启动时,查看共享首选项以查看是否存储了之前的路线,然后导航至该路线(或将其设置为家庭路线)。如果没有,则返回到默认的 FirstScreen。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Flutter 中恢复上次路由 的相关文章