gpt4 book ai didi

flutter - android 后退按钮不会调用 WillPopScope 的 onWillPop

转载 作者:行者123 更新时间:2023-12-03 02:41:38 32 4
gpt4 key购买 nike

我想退出我的应用程序。我已经实现了一个 WillPopScope,但看起来根本没有调用 onWillPop 函数。我尝试了很多想法,例如将 WillPopScope 与 Scaffold 交换,更改函数的返回值,但看起来它没有按预期工作。

我的代码:

Future<bool> _willPopCallback() async {
exit(0);
// await showDialog or Show add banners or whatever
// then
return true; // return true if the route to be popped
}


return Scaffold(
appBar: MyAppBar(
leading: DrawerAction(),
title: Text(AppLocalizations.of(context).textCapitalized('home_page')),
onSearch: (searchTerms) => this.search(searchTerms, context),
),
body: new WillPopScope(
onWillPop: _willPopCallback, // Empty Function.
child: //my screen widgets


我不确定这是否是我应该向 flutter 报告的错误,或者我做错了什么。很高兴根据要求提供更多代码。

我试过了:
exit(0);
Navigator.of(context).pop();
SystemChannels.platform.invokeMethod('SystemNavigator.pop');

提前致谢!

最佳答案

首先永远不要使用exit(0) .在Android环境下可能没问题,但如果应用程序以编程方式自行关闭,Apple将不允许该应用程序出现在应用程序商店中。

这里在 docsonWillPop它清楚地提到函数应该解析为 bool 值。

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

这仅在您当前页面是导航堆栈的根时才有效。

关于flutter - android 后退按钮不会调用 WillPopScope 的 onWillPop,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60286839/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com