导航路线未移除或弹出
Navigation Route not removed or Pop
目前我正在我的应用程序上做一个安全设置页面。现在我遇到的问题是当我向后导航或按下后退按钮时。页面仍在导航甚至弹出。
我的代码我正在使用它进入第一个流程
Navigator.push(
context,
MaterialPageRoute(builder: (context) => otp_mPin())
现在在第二次或回流中我使用了这个
Code used for second flow
在 OTP 页面上,我使用了 pop 和 push
Navigator.of(context).pop();
Navigator.push(
context,
MaterialPageRoute(builder: (context) => mPin())
这是我得到的流程
屏幕 1 设置页面
onTap: (){
Navigator.push(context, MaterialPageRoute(builder: (context) => ProtectPhone()));
},
屏幕 2 密码页面
成功密码导航
onPressed: (){
Navigator.pop(context);
Navigator.push(context, MaterialPageRoute(builder: (context) => selectScreenLock()));
},
后退按钮/willPop
Navigator.pop(context);
屏幕 3 Selection
Select 或单击 MPin 将重定向到 OtpMpin 页面
Navigator.push(
context,
MaterialPageRoute(builder: (context) => OtpMpin())
);
返回或弹出命令
Navigator.of(context).pop();
Navigator.push(
context,
MaterialPageRoute(builder: (context) => ProtectPhone())
);
屏幕 4 OTP
成功输入 OTP
Navigator.pop(context);
Navigator.push(context, MaterialPageRoute(builder: (context) => setMPin()));
屏幕 5 MPIN
返回或弹出命令
Navigator.of(context).pop();
Navigator.push(
context,
MaterialPageRoute(builder: (context) => selectScreenLock())
第一流
1 > 2 > 3 > 4 > 5
二次或回流
5 > 3 > 2 > 4 > 2 > 1
在第 3 页到第 4 页中使用 pushReplacement 方法,以便在从第 3 页导航到第 4 页时,第 3 页从堆栈中移除并推送到第 4 页。因此,如果用户在第 4 页按下后退按钮,则用户将进入第二页。
Navigator.pushReplacement(context,
MaterialPageRoute(builder: (context) {
return NewPage();
}));
目前我正在我的应用程序上做一个安全设置页面。现在我遇到的问题是当我向后导航或按下后退按钮时。页面仍在导航甚至弹出。
我的代码我正在使用它进入第一个流程
Navigator.push(
context,
MaterialPageRoute(builder: (context) => otp_mPin())
现在在第二次或回流中我使用了这个
Code used for second flow
在 OTP 页面上,我使用了 pop 和 push
Navigator.of(context).pop();
Navigator.push(
context,
MaterialPageRoute(builder: (context) => mPin())
这是我得到的流程
屏幕 1 设置页面
onTap: (){
Navigator.push(context, MaterialPageRoute(builder: (context) => ProtectPhone()));
},
屏幕 2 密码页面
成功密码导航
onPressed: (){
Navigator.pop(context);
Navigator.push(context, MaterialPageRoute(builder: (context) => selectScreenLock()));
},
后退按钮/willPop
Navigator.pop(context);
屏幕 3 Selection
Select 或单击 MPin 将重定向到 OtpMpin 页面
Navigator.push(
context,
MaterialPageRoute(builder: (context) => OtpMpin())
);
返回或弹出命令
Navigator.of(context).pop();
Navigator.push(
context,
MaterialPageRoute(builder: (context) => ProtectPhone())
);
屏幕 4 OTP
成功输入 OTP
Navigator.pop(context);
Navigator.push(context, MaterialPageRoute(builder: (context) => setMPin()));
屏幕 5 MPIN
返回或弹出命令
Navigator.of(context).pop();
Navigator.push(
context,
MaterialPageRoute(builder: (context) => selectScreenLock())
第一流
1 > 2 > 3 > 4 > 5
二次或回流
5 > 3 > 2 > 4 > 2 > 1
在第 3 页到第 4 页中使用 pushReplacement 方法,以便在从第 3 页导航到第 4 页时,第 3 页从堆栈中移除并推送到第 4 页。因此,如果用户在第 4 页按下后退按钮,则用户将进入第二页。
Navigator.pushReplacement(context,
MaterialPageRoute(builder: (context) {
return NewPage();
}));