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中继承一下这个类就可以了。

android中实现“再按一次退出”功能的更多相关文章

  1. ionic监听android返回键(实现“再按一次退出”功能)

    在android平台上的app,在主页面时经常会遇到"再按一次退出app"的功能,避免只按一下返回键就退出app提升体验优化. 1.这个功能需要我们用到ionic提供的regist ...

  2. Android中的“再按一次返回键退出程序”实现 (转) 按返回键退出程序时进行提醒

    原文地址: https://blog.csdn.net/xichenguan/article/details/47030303 最近在研究   Android  编程方面的东西, 有了以下发现,  该 ...

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

    用户退出应用前给出一个提示是很有必要的,因为可能是用户并不真的想退出,而只是一不小心按下了返回键,大部分应用的做法是在应用退出去前给出一个Dialog,我觉得这样不太友好,用户还得移动手指去按dial ...

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

    用户退出应用前给出一个提示是很有必要的,因为可能是用户并不真的想退出,而只是一不小心按下了返回键,大部分应用的做法是在应用退出去前给出一个Dialog,我觉得这样不太友好,用户还得移动手指去按dial ...

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

    1 用户在退出应用前给出一个提示是很有必要的,因为可能是用户并不真的想退出,而只是一不小心按下了返回键,大部分应用也是这么做的,但也有些应用的做法是在应用退出去前给出一个Dialog,我觉得这样不太友 ...

  6. Toast工具类,Android中不用再每次都写烦人的Toast了

    package com.zhanggeng.contact.tools; /** * Toasttool can make you use Toast more easy ; * * @author ...

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

    finish只是将此activity推向后台,并没有释放资源. 而system.exit则是杀死进程,会释放资源

  8. 《安卓网络编程》之第六篇 Android中的WIFI和蓝牙

    关于WIFI就不多介绍啦,直接来个段子吧. 问:“WiFi对人体有伤害么?” 答:“不清楚,反正没有WiFi我就浑身不舒服. 比较重要的一点就是WifiManager  wm=(WifiManager ...

  9. Android中如何禁止音量调节至静音

    Android中音量按键在调低音量时,如果一直按住Down按钮不放,则系统将音量跳到最小后,又自动调节到静音状态.这个机制和iPhone是不同的,iPhone中无论你怎么按Volume-按钮,只能调到 ...

随机推荐

  1. HDU 2817 A sequence of numbers

    http://acm.hdu.edu.cn/showproblem.php?pid=2817 __int64 pow_mod (__int64 a, __int64 n, __int64 m)快速幂取 ...

  2. [摘]selenium-ide命令

    关于,selenium 命令这一部分,为了便于像我一样的菜鸟理解,我采用通过例子讲命令的方式. 菜鸟Selenium 命令通常被称为selenese,有一系列运行测试案例所需的命令构成. ----// ...

  3. 不使用CvvImage类来在MFC中显示图像

    /* * ===================================================================================== * * Filen ...

  4. Jlink烧写图文教程

    ,点击安装          , 插上jlink,安装驱动后,红灯一直亮                                                                 ...

  5. Weka-学习

    1.在java中使用Weka的eclipse配置方法 http://ianma.wordpress.com/2010/01/16/weka-with-java-eclipse-getting-star ...

  6. HDU 1117 免费馅饼 二维动态规划

    思路:a[i][j]表示j秒在i位置的数目,dp[i][j]表示j秒在i位置最大可以收到的数目. 转移方程:d[i][j]=max(dp[i-1][j],dp[i-1][j-1],dp[i-1][j+ ...

  7. POJ-3678 Katu Puzzle 2sat

    题目链接:http://poj.org/problem?id=3678 分别对and,or,xor推出相对应的逻辑关系: 逻辑关系 1 0  A and B     A'->A,B'->B ...

  8. 教程-Delphi资源文件(全面分析于使用)

    Delphi资源文件(全面分析之位图.光标.图标.AVI.JPEG.Wave)   几乎每个Windows应用程序都使用图标.图片.光标等资源.资源是程序的一部分,但是它是不可执行代码.下面我们就详细 ...

  9. 学习Visitor Pattern 有感而发!override and overload

    通过阅读各位前辈写的博文,像吕震宇,idior,李建忠WebCast等,对Visitor模式有一定的了解,有感而记录下来,以备忘. Visitor Pattern 假设了这样一个场景,在一个类型层次中 ...

  10. 24C02操作--松瀚汇编源码

    ; ; P_CLKIIC EQU P1.2 ; P_DATIIC EQU P1.3 ; PM_DATIIC EQU P1M.3 ; EE_ADDR DS 1 ;地址寄存器 ; TMP3_IIC DS ...