Существует переменная pinEnable
, которая сообщает приложению, настроил ли пользователь пин-код для приложения. Это хранится в SharedPreferences
. Моя первая страница, которая появляется в моем приложении, зависит от этого. Поскольку операция извлечения asyn c, она просто возвращает null
.
соответствующий код, который я использовал: -
PinData
- это просто класс, содержащий функции для установки и get pin
и pinEnable
void main() => runApp(MyApp());
class MyApp extends StatefulWidget {
@override
_MyAppState createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
bool pinEnable;
PinData pinData = PinData();
updatePinEnable() async {
pinEnable = await pinData.getPinEnable();
print(pinEnable);
}
@override
void initState() {
super.initState();
updatePinEnable();
}
@override
Widget build(BuildContext context) {
return MaterialApp(
theme: ThemeData(...),
home: pinEnable == false ? MyTabbedHome() : PinCodePage());
}
}
В последнем выражении кода pinEnable
не является ложным, но имеет значение null, поэтому возвращает PinCodePage()
Есть ли способ исправить это или любые идеи, чтобы обойти это. Спасибо !!