dart - 如何知道哪个屏幕在顶部(事件/安装)

标签 dart flutter navigator

我正在使用 Flutter 实现应用程序,必须输入该应用程序才能访问该应用程序,每次您恢复该应用程序时都会显示该应用程序,因此我正在使用(didChangeAppLifecycleState)这里的问题是,如果某些东西中断了应用程序,例如 whatsapp 通知pin 显示,这很酷,但是如果有两条消息出现,我会得到两个 pin 码等一个,一旦我得到 27 个 pin 码,我必须输入它们才能恢复应用程序,这一点也不酷

所以这里的问题是,有没有什么方法或方法可以知道哪个屏幕在堆栈(Navigator Stack)的顶部?我的意思是现在对用户可见,所以我不必再次显示 pin,

提前致谢

最佳答案

假设您的 App 中有 3 个页面,即“PageHome”、“Page1”、“PagePin”。然后:

  1. 创建一个文件 'GlobalVariables.dart',在这个文件中,创建一个类 gv。

  2. 在 gv 类中,创建一个静态变量:

    static String strCurPage = 'PageHome';
    
  3. 在所有 3 个页面中导入此 dart 文件。

  4. 导航到新页面之前,例如从 'PageHome' 到 'PagePin',设置:

    gv.strCurPage = 'PagePin';
    
  5. 当应用从后台恢复时,仅当 gv.strCurPage != 'PagePin' 时导航至“PagePin”。

关于dart - 如何知道哪个屏幕在顶部(事件/安装),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55095409/

相关文章:

flutter - 来自顶部()的图像和图像下方带有文本的框

flutter - 如何在 Dart 中创建一个空集

flutter - 使用 persist_bottom_nav_bar 时导航器弹出 - Flutter

flutter - 如何将 BottomNavigationBar 与 Navigator 一起使用?

javascript - React-Native中的WebView不会与另一个jsx标签一起显示,而是单独显示

event-handling - 按名称动态添加事件监听器

flutter - 如何使文本窗口小部件的大小随内容变化而变化?

android - 是否可以在没有预览和用户交互的情况下拍照?

listview - 如何制作可编辑的 ListView 项目?

flutter - 未处理的异常 : RangeError (index): Invalid value: Valid value range is empty: 0