flutter - 如何在Flutter中恢复最后一条路线

标签 flutter dart

我正在开发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/

相关文章:

dart - 如何优化 AngularDart 应用程序的 js 大小?

dart - dart2js是否支持ecmascript 6编译?

dart - 使用 path_provider 将下载的文件路径获取到 video_player 时出错

flutter - 如何在 flutter 中显示 html 布局链接?

flutter - 为什么我从这个回调中得到一个空值?

android - 如何生成私钥/公钥对来加密消息

flutter 动画 : showSearch with opencontainer

flutter - 如何使用 Flutter 在 Slack channel 中发送消息?

flutter - 预览文本/富文本格式的网址

flutter - 如何以编程方式在 flutter 中使用后退选项