Android中的“再按一次返回键退出程序”实现 (转) 按返回键退出程序时进行提醒
原文地址:
https://blog.csdn.net/xichenguan/article/details/47030303
最近在研究 Android 编程方面的东西, 有了以下发现, 该部分代码直接放在APP的主界面的Activity中,亲自验证可行,感觉还不错。
其中, KeyEvent.KEYCODE_BACK 是指用户按下返回键,
KeyEvent.ACTION_DOWN 是指按下键的事件。
该部分代码意思就是
第一次按键返回的时候 提示 再按一次退出程序。
每一次按键返回的时候 和 上一次按键返回的时间 在2000ms 以外则进行提示,否则就退出。
连续两次按下返回键的动作 ,也就是在2000ms之内,你连续两次按下返回键,则退出,否则是提示。
以下是转载内容:
============================================================
用户退出应用前给出一个提示是很有必要的,因为可能是用户并不真的想退出,而只是一不小心按下了返回键,大部分应用的做法是在应用退出去前给出一个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); }
共有 0 条评论