1. 首先,定义两次点击退出按钮的时间间隔:private static final long INTERNAL_TIME=2000;

    然后,定义一个当前时间的变量:private long exitTime = System.currentTimeMillis() - INTERVAL_TIME;这个常量是用来计算得到当前时间的。初始化的时候减去一个时间间隔保证在刚打开页面的时候点击退出也会提示。

    当时间间隔小于INTERNAL_TIME时退出程序,大于INTERNAL_TIME时此次点击就是第一次点击了,会弹出再次点击退出的提示。

  2. 然后实现页面的onkeydown事件。代码如下:

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
          // TODO Auto-generated method stub
          if (keyCode == KeyEvent.KEYCODE_BACK) {
                if ((System.currentTimeMillis() - exitTime) > INTERVAL_TIME) {
                      exitTime = System.currentTimeMillis();
                      Toast.makeText(this, "再按一次退出程序", Toast.LENGTH_SHORT).show();
                }
                else {
                      System.exit(0);
                }
                return true;
          }
          return super.onKeyDown(keyCode, event);
    }

  3. 其实现的原理,就是取到你两次点击退出按钮的时间。两次的间隔时间小于2000毫秒时就实现退出,当两次的时间间隔大小2000时,就给用户一个再按一次就退出的提示。怎么样。这样做是不是很方便。当然,还有一个要注意的地方,就是你要在哪个里面实现这个功能,就要在哪个activity中放上这段代码,如果你要放的页面太多,那么你就写一个类,在activity中继承一下这个类就可以了。

转载于:https://www.cnblogs.com/diyishijian/p/4032569.html

android中实现“再按一次退出”功能相关推荐

  1. android中bmob云存储,Android中的Bmob移动后端云服务器功能

    PS:一般情况下,我们在写android程序的时候,想要实现登录注册功能,可以选择自己用servlet作为服务端来实现过滤没有注册过的用户,但是太麻烦,而且不是随时都可以用的.这里介绍一个移动后端云服 ...

  2. android 轮换实现动画,怎么在Android中实现一个首页无限轮播功能

    怎么在Android中实现一个首页无限轮播功能 发布时间:2021-04-12 16:22:49 来源:亿速云 阅读:74 作者:Leah 这期内容当中小编将会给大家带来有关怎么在Android中实现 ...

  3. Android中使用httpclient访问服务器,需要session功能

    2019独角兽企业重金招聘Python工程师标准>>> 虽然只有十分但是还是给你写一段 android中测试 跑得了 加点分可以继续追问我哦 呵呵~~~~public static ...

  4. Android中的“再按一次返回键退出程序”实现

    http://www.cnblogs.com/jxgxy/archive/2012/08/23/2653404.html 转载于:https://www.cnblogs.com/stono/p/436 ...

  5. android中finish和system.exit方法退出的区别

    finish只是将此activity推向后台,并没有释放资源. 而system.exit则是杀死进程,会释放资源 转载于:https://www.cnblogs.com/u3shadow/p/4360 ...

  6. android获取qq群成员的功能实现的,Android中实现一键推广|加入QQ群功能

    功能实现效果图: 一键推广QQ群.gif 第一步:访问QQ群官方网站 第二步:登录自我QQ 请选择你创建的群 获取你需要的代码(Android代码) 复制代码到Android项目中 qqgroup.p ...

  7. Android中获取缓存大小和清除缓存功能

    前言 本篇博客要给大家分享的如何获取应用缓存的大小和清除缓存的功能,我们知道我们应用当中经常会产生一些数据,比如图片的缓存,数据库文件,配置文件等等.我们开发产品的时候,可能会有这样的一个需求清除应用 ...

  8. Eclipse for android 中设置java和xml代码提示功能(转)

    1.设置 java 文件的代码提示功能 打开 Eclipse 依次选择 Window > Preferences > Java > Editor - Content Assist & ...

  9. Android中的Gradle之配置及构建优化

    一.Gradle简介 1.Gradle是什么? Gradle是一种项目自动化构建工具,基于Groovy语言来声明项目设置,同时支持kotlin文件xxx.gradle.kts作为DSL(Domain ...

最新文章

  1. 杜克大学和Facebook联手开发更好的光通信
  2. 量子计算机物理学,百年的超越:量子物理学与量子计算机
  3. k8s实现jenkins master-slave分布式构建方案
  4. 通过docker无法访问到tomcat报页面404
  5. WPF简单实用方法(持续更新)
  6. html博客网页代码_Python自动化运维系列:Django搭建个人博客之前端篇
  7. 04 Linux软件安装与卸载命令
  8. 【深度好文】二维图像傅里叶变换 YYDS
  9. windows10系统连接蓝牙鼠标自动断开解决方案
  10. Bingo学习--jdk1.8新特性
  11. java nio oio_NIO,OIO,AIO区别
  12. 听说,在巴别鸟评审文件特别快?
  13. yolov5_trt_web检索衣服图案
  14. 判断HTTP代理的高匿程度
  15. 一篇文章学会使用摩斯密码,简单易懂,你也可以使用“降维打击”
  16. 一文看懂计算机视觉!7个专业术语别说你不知道!
  17. 英语学习经验分享(四六级、竞赛、口语)
  18. GetTickCount 得到时间进行比较计算遇到的异常
  19. C语言中##和#的作用
  20. 算法设计与分析-----动态规划

热门文章

  1. c语言 炸弹文件,炸弹超人游戏c语言简板
  2. c++ getline 读不到东西_C++,使用getline一直读取不到文件中的内容
  3. 饿了么java_eleme-openapi-java-sdk
  4. python中pass语句的作用是_Python pass语句以及作用详解
  5. java数据库实例_选择数据库实例
  6. IDEA调试技巧之条件断点
  7. VSCODE 10个高效开发插件
  8. delphi listview1添加指定列_对表格的列进行批量处理的函数详解
  9. Android SDK实例之Snake游戏深入解析(一)
  10. 用位运算将十进制转为二进制python_python 十进制与二进制以及位运算