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");
}
});
}
問題: アプリに正常にサインインできますが、サインイン後に「戻る」ボタンをタップすると、サインイン画面に戻ります (アプリを終了することを期待しているのに)。
質問:Flutter で、戻ることなく 1 つの画面から別の画面に移動するにはどうすればよいですか?
ナビゲーターの履歴を何らかの方法で削除する必要がありますか?それともナビゲーターをまったく使用しないでください。試してみましたナビゲーター.置換方法を試しましたが、うまくいかなかったようです。
ベストアンサー1
使用する必要があるNavigator.pushReplacement
のは出発認証画面も同様です。ログイン ページにリダイレクトするときだけではありません。