效果如图:

实现代码:

    1. private long exitTime = 0;
    2. /**
    3. * 捕捉返回事件按钮
    4. *
    5. * 因为此 Activity 继承 TabActivity 用 onKeyDown 无响应,所以改用 dispatchKeyEvent
    6. * 一般的 Activity 用 onKeyDown 就可以了
    7. */
    8. @Override
    9. public boolean dispatchKeyEvent(KeyEvent event) {
    10. if (event.getKeyCode() == KeyEvent.KEYCODE_BACK) {
    11. if (event.getAction() == KeyEvent.ACTION_DOWN && event.getRepeatCount() == 0) {
    12. this.exitApp();
    13. }
    14. return true;
    15. }
    16. return super.dispatchKeyEvent(event);
    17. }
    18. /**
    19. * 退出程序
    20. */
    21. private void exitApp() {
    22. // 判断2次点击事件时间
    23. if ((System.currentTimeMillis() - exitTime) > 2000) {
    24. Toast.makeText(MainActivity.this, "再按一次退出程序", Toast.LENGTH_SHORT).show();
    25. exitTime = System.currentTimeMillis();
    26. } else {
    27. finish();
    28. }
    29. }

android 再按一次退出程序(实现代码)的更多相关文章

  1. Android 再按一次退出程序三种办法

    在Xamarin android中双击返回键退出程序的第一种做法 思路就是当用户按下返回键的时间超过两秒就退出,根据Keycode.Back判断用户按下的是返回键,重写这个OnKeyDown Date ...

  2. Android 再按一次退出程序

    实现代码: private long exitTime = 0; /** * 捕捉返回事件按钮 * * 因为此 Activity 继承 TabActivity 用 onKeyDown 无响应,所以改用 ...

  3. Xamarin Mono Android实现“再按一次退出程序”

    开始研究Android平台软件编程,Xamarin Mono for Android上手快,跨平台共享代码,代价是bug多多,是一味可口的毒药啊! 环境VS2012 + Xamarin Mono An ...

  4. Android:再按一次退出程序

    感觉这种效果比较友好 //两秒内按返回键两次退出程序 private long exitTime = 0; @Override public boolean onKeyDown(int keyCode ...

  5. Android 再按一次退出应用的代码

    private long exitTime = 0; @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (key ...

  6. Android开发之”再按一次退出程序“的实现

    现在移动客户端退出程序对话框退出越来越不流行了,都开始使用连续按两次来退出,即著名的“再按一次退出程序”模式.现在就看看怎么实现的吧. @SuppressLint("HandlerLeak& ...

  7. Android 监听返回键退出程序的两种实现

    1.Android 双击返回键退出程序 思路:用户按下返回键时设定一个定时器来监控是否2秒内实现了退出,如果用户没有接着按返回键,则清除第一次按返回键的效果,使程序还原到第一次按下返回键之前的状态.定 ...

  8. android 点击返回键退出程序的方法

    android 点击返回键退出程序的方法 第一种: 再按一次返回键退出程序 private long exitTime = 0; @Override public boolean onKeyDown( ...

  9. 【Android】System.exit(0) 退出程序

    许多 Android 应用程序都是连续点击两下返回键时退出程序,代码如下: private long exitTime = 0; @Override public boolean onKeyDown( ...

随机推荐

  1. shell 判断文件、目录是否存在

    shell判断文件是否存在   1. shell判断文件,目录是否存在或者具有权限 2. #!/bin/sh 3. 4. myPath="/var/log/httpd/" 5. m ...

  2. mysql中如何更新一个字段的值为它本身的值连接上一个字符串

    CONCAT(str1,str2,...)     返回结果为连接参数产生的字符串. 如有任何一个参数为NULL ,则返回值为 NULL. 或许有一个或多个参数. 如果所有参数均为非二进制字符串,则结 ...

  3. [转] Makefile中调用Shell

    1.在Makefile中只能在target中调用Shell脚本,其他地方是不能输出的.比如如下代码就是没有任何输出: VAR="Hello" echo "$(VAR)&q ...

  4. Java基础知识强化之集合框架笔记01:集合的由来与数组的区别

    1. 集合的由来: 我们学习的是面向对象语言,而面向对象语言对事物的描述是通过对象体现的,为了方便对多个对象进行操作,我们就必须把这多个对象进行存储.而要想存储多个对象,就不能是一个基本的变量,而应该 ...

  5. jdbc03 使用servlet实现

    <%@page import="cn.bdqn.bean.News"%> <%@page import="cn.bdqn.service.impl.Ne ...

  6. Windows Native API

    http://en.wikipedia.org/wiki/Native_API Windows 的原生 API 函数通常在系统启动时(这里其他 Windows 组件还不可用).kernel32.dll ...

  7. java执行命令行

    List<String> command = new ArrayList<String>(); command.add("ping"); ProcessBu ...

  8. (转)XML CDATA是什么?

    解析数据 XML 解析器通常情况下会处理XML文档中的所有文本. 当XML元素被解析的时候,XML元素内部的文本也会被解析: <message>This text is also pars ...

  9. HTML5 microdata

    schema.org 测试地址 http://www.google.com/webmasters/tools/richsnippets

  10. hbase region 分配方式

    参与 Region 分配的重要对象 在 Region 分配过程中,起着重要作用有如下一些对象. HMaster— 是 HBase 中的 Master server ,仅有一个. HRegionServ ...