IAM使用带有pin屏幕的flutter来实现应用程序,必须输入pin屏幕才能访问应用程序,每次恢复应用程序时,pin都会显示,因此IAM使用(didChangeAppLifecycleState)这里的问题是,如果有什么东西干扰了应用程序,如whatsapp通知,pin会显示,这很酷,但是如果出现两条消息,我会收到两条消息。密码等等,一旦我有了27个密码,我必须输入它们来恢复应用程序,这一点都不酷。
所以这里的问题是,是否有任何方法或方法可以知道哪个屏幕在堆栈的顶部(导航器堆栈)?我的意思是用户现在可以看到,所以我不必再显示pin,
提前谢谢

最佳答案

假设应用程序中有3个页面,即“pagehome”、“page1”、“pagepin”。然后:
在这个文件中创建一个文件“globalvariables.dart”,创建一个类gv。
在类gv内,创建静态var:

static String strCurPage = 'PageHome';

在所有3页中导入此DART文件。
在导航到新页面(例如从“pagehome”到“pagepin”)之前,请设置:
gv.strCurPage = 'PagePin';

当应用程序从后台恢复时,仅当gv.strcurpage时才导航到“pagePin”!=“pagePin”。

07-27 22:59