markdown Flutter点击两次退出App

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了markdown Flutter点击两次退出App相关的知识,希望对你有一定的参考价值。

# 点击两次返回键,退出App

> 保证`Router`中的`home`已经设置了

## 解决方案
使用`WillPopScope`监听返回按键

在`Widget`中使用如下

```dart
import 'package:flutter/services.dart'; // 用来退出app
import 'dart:io'; // 用来退出app

...

Widget build(BuildContext context) {
    return WillPopScope(
        onWillPop: () async {
          // 点击返回键的操作
          if (lastPopTime == null ||
              DateTime.now().difference(lastPopTime) > Duration(seconds: 2)) {
            lastPopTime = DateTime.now();
            Toast.show("再按一次退出", context, duration: Toast.LENGTH_SHORT);

            return false;
          } else {
            // 退出app
            lastPopTime = DateTime.now();
            await SystemChannels.platform.invokeMethod('SystemNavigator.pop');
            exit(0);
            return true;
          }
        },
        child: yourContent )});

```

以上是关于markdown Flutter点击两次退出App的主要内容,如果未能解决你的问题,请参考以下文章

Flutter 功能型组件:WillPopScope

当后退按钮点击两次时如何让Xamarin.Android app退出(确认包含点击之间的消息)?

Flutter点击返回键,回到桌面,但不退出APP的实现

Flutter WillPopScope 拦截路由返回

Flutter中如何使用WillPopScope

Flutter中如何使用WillPopScope