这是我的代码。我使用 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/

10-09 18:52