如何知道哪个屏幕位于顶部(活动/已安装)

时间:2019-03-11 04:52:18

标签: dart flutter navigator

使用Flutter的具有钉子屏幕的IAM实现应用程序必须输入才能访问该应用程序,每次您恢复该应用程序时都会显示钉子,因此iam使用(didChangeAppLifecycleState)会出现以下问题:如果某些东西干扰了该应用程序,例如whatsapp通知该图钉显示,这很酷,但是,如果收到两则消息,我会得到两个图钉代码,所以一个,一旦我得到27个图钉代码,我就必须输入它们以恢复该应用,这一点都不酷

所以这里的问题是,有什么方法或方法可以知道哪个屏幕位于堆栈顶部(导航器堆栈)?我的意思是现在对用户可见,所以我不必再显示图钉了,

预先感谢

1 个答案:

答案 0 :(得分:1)

假设您的应用程序中有3个页面,分别是“ PageHome”,“ Page1”,“ PagePin”。然后:

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

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

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

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

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