我需要在5分钟内未激活应用程序时将用户重定向到身份验证页面。我想使用WidgetsBindingObserver
。我检测到5分钟内应用程序处于非活动状态,但是我不知道如何将用户重定向到身份验证页面。
这是我的代码的一部分:
@override
void initState() {
super.initState();
homeScreen = widget.homeScreen;
WidgetsBinding.instance.addObserver(this);
}
@override
void dispose() {
WidgetsBinding.instance.removeObserver(this);
super.dispose();
}
@override
void didChangeAppLifecycleState(AppLifecycleState state) {
setState(() {
if (state == AppLifecycleState.paused) {
Future.delayed(Duration(seconds: 3), () {
setState(() {
// navigate to auth page
});
});
}
});
}
答案 0 :(得分:3)
您可以使用Navigator
:
Navigator.push(context,
MaterialPageRoute(builder: (context) => AuthPage()));
答案 1 :(得分:0)
您不需要在5分钟内重定向应用程序,可以在用户希望导航到需要进行身份验证的页面(或执行某些操作)时将其重定向,只需将最后一个操作时间戳记入SharedPreferences并检查此时间戳记即可进行每个需要的身份验证操作。