SharedPreferences在启动时总是为空-Flutter

问题描述 投票:0回答:1

我一直在尝试让用户尚未登录(只是简单的SharedPreferences)而保持登录状态,但是每次我保存SP并热加载或热重启我的应用程序时,该函数都会返回null,就像它什么也没保存一样。我已经尝试了一切,但无法解决。这是我的代码:

启动时获取我的SP

Future<void> main() async {
  WidgetsFlutterBinding.ensureInitialized();
  SharedPreferences prefs = await SharedPreferences.getInstance();
  isLoggedIn = prefs.getBool('isLoggedIn');
  Timer(Duration(milliseconds: 100), ()=>{print(isLoggedIn)});

  runApp(MyApp());
}

成功登录后保存我的SP

SharedPreferences prefs = await SharedPreferences.getInstance();
  prefs.setBool('isLoggedIn', true);

  bool isLoggedIn = prefs.getBool('isLoggedIn');

  print(isLoggedIn);
flutter dart sharedpreferences
1个回答
0
投票

共享首选项上的写入功能是异步的,所以您需要等待它们。

尝试await prefs.setBool('isLoggedIn', true);

© www.soinside.com 2019 - 2024. All rights reserved.