我正在我的Flutter应用程序中实现身份验证流程.
登录尝试后,将使用以下代码打开 CheckAuth (检查用户是否已登录,然后打开主屏幕或相应地注册屏幕):
void _signIn() async {
await _auth
.signInWithEmailAndPassword(
email: _userEmail.trim(), password: _userPassword.trim())
.then((task) {
// go to home screen
if (task.getIdToken() != null) {
setState(() {
Navigator.pushReplacement(
context,
new MaterialPageRoute(
builder: (BuildContext context) => new CheckAuth()));
});
} else {
print("Authentication failed");
}
});
}
Run Code Online (Sandbox Code Playgroud)
问题:我可以成功登录该应用,但如果我在登录后点击后退按钮,则会返回到登录屏幕(我希望它从应用中退出).
问题:如何在Flutter中从一个屏幕移动到另一个屏幕而无法返回?
我是否需要以某种方式删除导航器历史记录?或者根本不使用导航仪?我尝试了Navigator.replace方法,但似乎没有用.
我Navigator.push
最多使用6个屏幕转到付款页面。付款后,我想推送到“付款成功”页面,然后删除所有以前的屏幕,即使用“后退”按钮将返回到第一个屏幕。
注意:我已经尝试过了pushReplacementNamed
,但是不起作用。