这是我的代码。我使用 SystemNavigator.pop 但它说 undefined name SystemNavigator
我想要的只是使用 OnTap 退出应用程序
class AppDrawer extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Drawer(
child: ListView(
padding: EdgeInsets.zero,
children: <Widget>[
_createHeader(),
_createDrawerItem(
icon: Icons.home,
text: 'Home',
onTap: () => Navigator.of(context).pop()),
Divider(),
_createDrawerItem
(icon: Icons.exit_to_app, text: 'Exit app',
onTap: () => SystemNavigator.pop),
),
],
),
);
}
在这种情况下添加
SystemNavigator.pop
的正确方法是什么?如果您知道添加 SystemNavigator.pop
的任何方法,请帮助我 最佳答案
您可能缺少包含 SystemNavigator 的导入,因此添加:
import 'package:flutter/services.dart';
您缺少括号,因此,将
SystemNavigator.pop
更正为SystemNavigator.pop()
或者,您可以使用
SystemChannels
:SystemChannels.platform.invokeMethod<void>('SystemNavigator.pop');
而不是
SystemNavigator.pop()
里面的 onTap
。在此处引用 flutter 文档:Link上面链接中的 Flutter 文档说:
如果您计划在 Apple 应用商店中启动应用程序,请不要使用
exit(0)
,因为 Apple 人机界面指南强烈建议您以编程方式退出应用程序。 Refer to this iOS documentation archive 。上面的链接说:
exit() 上的 Flutter documentation 说:
关于flutter - 如何在下面的代码中使用 systemNavigator.pop 在 flutter 中退出应用程序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58680475/