如何模拟设备后退按钮按下/ AppBar 后退按下?未调用 WillPopScope Navigator.pop()

How to simulate device back btn press/ AppBar back press? WillPopScope is not called upon Navigator.pop()

我能够使用 WillPopScope 覆盖后退按钮 onPressed 行为。现在,每当我按下 device back buttondefault AppBar back button 时,onWillPop 中的代码都会按预期运行。

现在的问题是我想要有自己的自定义按钮来向后导航,但是 Navigator.of(context).pop() 没有检查 WillPopScope,就好像它不存在一样。

在简单的情况下,当您需要拦截 Android 后退按钮时,通常会将 WillPopScope 添加到您的小部件树中。但是,在开发与后退按钮交互的有状态小部件时,使用 BackButtonInterceptor.

更方便

有关详细信息,请查看此 link:https://pub.dev/packages/back_button_interceptor

使用StateFullWidget时,使用BackButtonInterceptor更方便。 希望这会有所帮助。 有关详细信息,请检查此: [1]: https://pub.dev/packages/back_button_interceptor

关键是改用 Navigator.of(context).maybePop()。或者更具体地说,就我而言,是使用 Navigator.of(context, rootNavigator:true).maybePop(),因为我使用的是嵌套导航。