Я занимаюсь разработкой приложения для флаттера. Приложение имеет встроенный экран. Я хочу сохранить, что пользователь сначала открывает. Я использую общие преференции для этого. Ниже кодов всегда открывайте OnBoardingScreen. В чем моя вина? Пожалуйста, помогите мне.
метод сохранения bool
saveBool(bool isOk) async {
final prefs = await SharedPreferences.getInstance();
prefs.setBool('firstOpen', isOk);
}
метод проверки bool
checkFirstOpen() async {
SharedPreferences prefs = await SharedPreferences.getInstance();
bool checkValue = prefs.containsKey('firstOpen');
return checkValue;
}
}
И здесь я решаю на маршрут
main.dart
home: checkFirstOpen() == true ? MyHomePage() : OnboardingScreen());
Я сохраняю bool в setState.
onTap: (){
var route = new MaterialPageRoute(
builder: (BuildContext context) =>
new MyHomePage(),
);
Navigator.of(context).push(route);
setState(() {
saveBool(true);
});
},