Dart 颤振中的状态管理(屏幕)——>;持续屏幕

Dart 颤振中的状态管理(屏幕)——>;持续屏幕,dart,flutter,Dart,Flutter,如何从退出应用程序后在应用程序中打开的最后一个屏幕继续。 例如,我有屏幕A、B和C,在关闭应用程序之前我在屏幕B上。我的问题是,当我再次打开应用程序时,如何到达屏幕B。使用SharedReferences将屏幕A、B和C的int中的值分别保存为1、2和3,当它们的initState()方法触发时(以了解各自屏幕打开的情况) 下次打开应用程序时,您可以获取int值,并使用开关来决定加载什么 void main() async { SharedPreferences prefs = await

如何从退出应用程序后在应用程序中打开的最后一个屏幕继续。
例如,我有屏幕A、B和C,在关闭应用程序之前我在屏幕B上。我的问题是,当我再次打开应用程序时,如何到达屏幕B。

使用
SharedReferences
将屏幕A、B和C的
int
中的值分别保存为1、2和3,当它们的
initState()
方法触发时(以了解各自屏幕打开的情况)

下次打开应用程序时,您可以获取
int
值,并使用
开关来决定加载什么

void main() async {
  SharedPreferences prefs = await SharedPreferences.getInstance();
  Widget rootWidget;
  switch (prefs.getInt("key")) {
    case 1:
      rootWidget = Page1();
      break;
    case 2:
      rootWidget = Page2();
      break;
    case 3:
      rootWidget = Page3();
      break;
  }
  runApp(MaterialApp(home: rootWidget));
}

一旦进入任何屏幕,请在首选项中保存,如
lastScreen->B
;启动应用程序时,请检查首选项值并相应地工作。它是否适用于您的应用程序?@CopsOnRoad我还没有尝试过它,但我是否将最后一个屏幕保存到首选项?请给我一个片段help@Moplio对不起,我没听清楚。请详细说明。我的意思是我打开的最后一个屏幕,如何将它(特定屏幕)保存到共享首选项。u共享的代码片段有助于获取保存屏幕的“键”并将其打开。