flutter - 通过单击后退按钮,注销后屏幕将导航到主屏幕

标签 flutter dart mobile-application

从家里单击注销按钮后,我使用以下行导航到登录屏幕。但导航到登录屏幕后,如果我单击后退按钮,它将导航到主屏幕。我希望所有屏幕都会弹出,并且如果我从登录屏幕单击后退按钮,应用程序应该关闭。

这两条线对我来说都不起作用。如果有人知道这个帮忙... Navigator.of(context).pushReplacementNamed(LOGIN); Navigator.of(context).pushNamedAndRemoveUntil(LOGIN, (route) => false);

最佳答案

首先,您显然没有检查用户是否登录,因为注销后您不应该能够访问主页。您可以在 api 调用中进行检查,或者在主页的 initState() 方法中进行检查,以自动将用户重新路由到登录页面。

后退按钮会将您重定向到主页,因为您需要先清除所有路径,然后才能进入登录页面。试试这个:

onPressed:(){
    clearSession();
      Navigator.pop(context,true);
      Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => LoginScreen()),
);

},

如果没有之前的路线,则按下后退按钮时应用程序将关闭。但是,如果您想明确告诉 Flutter 在后退按钮上关闭应用程序,您可以执行类似 https://www.codegrepper.com/code-examples/dart/flutter+close+app+on+back+button 的操作

关于flutter - 通过单击后退按钮,注销后屏幕将导航到主屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72272205/

相关文章:

json - 如何添加utf8解码器解决flutter http请求乱码问题?

flutter - Riverpod 作为全局变量

flutter - 为什么 FutureBuilder 会被多次调用?

flutter - 在Flutter应用程序中创建管理系统

javascript - 如何在 DHTMLx Touch 中插入图像

flutter - 是否可以在无需定义方法或属性的情况下插入小部件列表?

flutter - flutter 小部件的自定义边框

Flutter:在无状态小部件中对行内容进行动画处理

Android Studio 代码建议不适用于 Flutter

ios - iOS 中应用启动时是否存在应用间通信?