我想退出我的申请。我已经实现了WillPopScope,但是好像根本没有调用onWillPop函数。我尝试了许多想法,例如将WillPopScope与Scaffold交换,更改了函数的返回值,但看起来好像并没有按预期工作。

我的代码:



我不确定这是否是应报告为错误的错误,或者我做错了什么。乐意根据要求提供更多代码。

我试过了:

exit(0);
Navigator.of(context).pop();
SystemChannels.platform.invokeMethod('SystemNavigator.pop');

提前致谢!

最佳答案

首先,永远不要使用exit(0) 。在Android环境中可能很好,但是如果Apple以编程方式自行关闭,则Apple不允许在应用商店中使用该应用。

onWillPopdocs中,它明确提到函数应解析为 bool 值。

Future<bool> _willPopCallback() async {
   // await showDialog or Show add banners or whatever
   // then
   return Future.value(true);
}

仅当当前页面是导航堆栈的根目录时,此方法才有效。

10-01 21:20