flutter 双击返回键退出app

2,456 阅读1分钟
DateTime lastPopTime; 

Widget build(BuildContext context) {
    super.build(context);
    return WillPopScope(
      child: Scaffold(
        body: Text("双击返回退出"),
      onWillPop: () async {
        if (lastPopTime == null || DateTime.now().difference(lastPopTime) > Duration(seconds: 2)) {
          lastPopTime = DateTime.now();
          showToast('再按一次返回退出');  // 提示消息,可以是其他的Toast
        } else {
          lastPopTime = DateTime.now();
          await SystemChannels.platform.invokeMethod('SystemNavigator.pop');
        }
        return;
      },
    );
  }