用户退出应用前给出一个提示是很有必要的,因为可能是用户并不真的想退出,而只是一不小心按下了返回键,大部分应用的做法是在应用退出去前给出一个Dialog,我觉得这样不太友好,用户还得移动手指去按dialog中的按钮。个人觉得“再按一次返回键退出程序”是best practice,实现也很简单,直接上代码:

private long exitTime = 0;

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if(keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN){   
        if((System.currentTimeMillis()-exitTime) > 2000){  
            Toast.makeText(getApplicationContext(), "再按一次退出程序", Toast.LENGTH_SHORT).show();                                
            exitTime = System.currentTimeMillis();   
        } else {
            finish();
            System.exit(0);
        }
        return true;   
    }
    return super.onKeyDown(keyCode, event);
}

 
 
 
 

最新文章

  1. 为OpenEdx中lms注册模块扩展字段
  2. htop查看系统负载
  3. BZOJ1769 : [Ceoi2009]tri
  4. Oracle数据库——触发器的创建与应用
  5. ORACLE-用户常用数据字典的查询使用方法
  6. *args和**kw魔法参数
  7. android Animation笔记
  8. 应用程序无法正常启动0xc0150002 解决方式
  9. windows环境下Mongodb分片配置
  10. codeforces 487E Tourists
  11. HashTable类模板_C++
  12. JavaScript 逗号表达式
  13. SpringMVC---Method
  14. Spring之bean一基础
  15. 【效率神奇】Github丧心病狂的9个狠招
  16. 微信内无法自动跳转外部浏览器打开H5分享链接的解决办法
  17. ESP32搭建2.虚拟机与物理机实现文件传输
  18. 解决pycharm问题:module 'pip' has no attribute 'main'
  19. Vue初始
  20. scala future

热门文章

  1. SQLSERVER2014的内存优化表
  2. 介绍一款轻量级js控件:easy.js
  3. Lua中的weak表——weak table(转)
  4. Android新建项目后src下没有自动生成文件
  5. 对于Netty的十一个疑问(转)
  6. Apidemos-->Views-Lists-Cursor(people)学�
  7. 华为OJ:查找字符的第一个字符串只出现一次
  8. 用户配置文件(passwd/shadow)
  9. Linux下一个CD翻录 创CUE 压缩flac攻略
  10. IDEA14中安装go语言插件