您当前的位置: 首页 >  flutter

Allen Su

暂无认证

  • 1浏览

    0关注

    431博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

【Flutter 问题系列第 24 篇】在 Flutter 中如何退出 APP

Allen Su 发布时间:2021-06-23 18:28:28 ,浏览量:1

这是【Flutter 问题系列第 24 篇】,如果觉得有用的话,欢迎关注专栏。

如果当前是在登录或者注册界面,用户点击退出事件时,一般都会做退出 APP 的功能,那么在 Flutter 中如何实现呢?

方式一

也是推荐的方式,所以放在了第一位,引入 import 'package:flutter/services.dart'; ,在退出事件中调用下面代码就可以了。

  /// 退出 APP 方式一
  void _doQuit() async {
    await SystemChannels.platform.invokeMethod('SystemNavigator.pop');
  }

方式二

需要引入 import 'dart:io'; 同样是在退出事件中调用下面代码即可。

  /// 退出 APP 方式二
  void _doExit() {
    exit(0);
  }

实现两秒内多次点击退出按钮时,退出 APP

不过往往并不是用户点击退出 APP 时就直接退出了,而是先给出一个提示,提示用户再点一次将要退出 APP。

所以我们设定当用户在两秒内点了两次退出,就认为用户在执行退出 APP 的操作。

首先定义一个 DateTime 类型的变量 _lastTime

DateTime _lastTime; // 上次点击退出当前页面的时间

通过判断两次点击的时间差来决定是否执行退出 APP 操作,如下代码

  void _doQuit() async {
    // 两秒内没有再点过退出按钮
    if (_lastTime == null || DateTime.now().difference(_lastTime) > Duration(seconds: 2)) {
      // 重置最后一次点击的时间
      _lastTime = DateTime.now();
      // 弹出吐司,需引入插件 bot_toast,当然其它的吐司插件也行
      BotToast.showText(text: "再按一次退出APP", align: Alignment.center);
    }
    // 两秒内点了两次退出按钮,则退出 APP
    else {
      await SystemChannels.platform.invokeMethod('SystemNavigator.pop');
    }
  }

第一次点击时间间隔为2秒以上,第二次点击时间间隔为2秒内,最终的效果图如下所示

至此,在 Flutter 中退出 APP 的两种方式,以及在一定时间时隔内退出 APP 的功能便介绍完毕。

你的问题得到解决了吗?欢迎在评论区留言。

赠人玫瑰,手有余香,如果觉得文章不错,希望可以给个一键三连,感谢。

结束语 Google 的 Flutter 越来越火,截止 2021年6月23日 GitHub 标星已达 123K,Flutter 毅然是一种趋势,所以作为前端开发者,没有理由不趁早去学习。 无论你是 Flutter 新手还是已经入门了,不妨先点个关注,后续我会将 Flutter 中的常用组件(含有源码分析、组件的用法及注意事项)以及可能遇到的问题写到 CSDN 博客中,希望自己学习的同时,也可以帮助更多的人。
关注
打赏
1656491068
查看更多评论
立即登录/注册

微信扫码登录

0.0436s