我有一个Flutter应用程序,在其中打开时会打开启动屏幕,然后打开主页。
当我进入主页并单击Android的后退按钮时,因为使用了此代码,所以什么也没发生:
new WillPopScope(
onWillPop: () async => false,
child:Directionality(
textDirection: direction,
child:...
)
)
但是如果我从首页单击Android中的“后退”按钮,我希望该应用程序退出。
有没有办法做到这一点?
答案 0 :(得分:0)
这是预期的行为,因为WillPopScope
会覆盖导航。
您应该自己实施导航
示例:
Future<bool> _exitApp(BuildContext context) {
return showDialog(
context: context,
child: new AlertDialog(
title: new Text('Do you want to exit this application?'),
content: new Text('We hate to see you leave...'),
actions: <Widget>[
new FlatButton(
onPressed: () => Navigator.of(context).pop(false),
child: new Text('No'),
),
new FlatButton(
onPressed: () => Navigator.of(context).pop(true),
child: new Text('Yes'),
),
],
),
) ??
false;
}
new WillPopScope(
onWillPop: () async => _exitApp(context),
child:Directionality(
textDirection: direction,
child:...
)
)
编辑以退出应用程序,您可以使用import 'dart:io';
功能添加exit(0)
和