Android 点击两次返回退出 App

返回目录

Android 点击两次返回退出 App

在 Android 手机 App中,经常看到点击两次退出应用这个小功能,本节就简单介绍一下,在 Flutter 中怎么实现这个功能

实现手段

使用 WillPopScope 监听返回键

代码示例


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 )
}

);


代码简单解释

  • 在任何一个 Widget 上都可以绑定 WillPopScope
  • lastPopTime 用来计时
  • 2s 之内,按两次就退出
  • Toast 用来提示,如果 flutter 没有自带的话,这个应该需要安装额外的包
  • 退出 App

    await SystemChannels.platform.invokeMethod('SystemNavigator.pop');
    exit(0);

——————————— (ノ ̄▽ ̄) 偶是分割线 φ(>ω<*) ———————————
想做全栈的朋友,可以关注一下 轻前端 公众号,前端干货,美女动漫图片都有,编码之余可以放松一下~
轻前端公众号
0 分享

要回复文章请先登录注册