转载请指明出处 :http://blog.youkuaiyun.com/hellohhj/article/details/36892819
这是我知道的两种方式
方式一:
重写onBackPressed方法直接监听返回键(建议高版本用2.0以上)
- @Override
- public void onBackPressed() {
- long currentTime = System.currentTimeMillis();
- if((currentTime-touchTime)>=waitTime) {
- //让Toast的显示时间和等待时间相同
- //更正一下 waitTime其实只有Toast.LENGTH_SHORT(1) Toast.LENGTH_SHOR(0)也就是说waitTime我们只能设置为有效的这两个数,因为FrameWork底层直接封装好
- //Toast的时长固定为2s和3.5s
- Toast.makeText(this, "再按一次退出", (int)waitTime).show();
- touchTime = currentTime;
- }else {
- finish();
- }
- }
方式二: (推荐使用)
- long waitTime = 2000;
- long touchTime = 0;
- @Override
- public boolean onKeyDown(int keyCode, KeyEvent event) {
- if(event.getAction() == KeyEvent.ACTION_DOWN && KeyEvent.KEYCODE_BACK == keyCode) {
- long currentTime = System.currentTimeMillis();
- if((currentTime-touchTime)>=waitTime) {
- //让Toast的显示时间和等待时间相同
- Toast.makeText(this, "再按一次退出", (int)waitTime).show();
- touchTime = currentTime;
- }else {
- finish();
- }
- return true;
- }
- return super.onKeyDown(keyCode, event);
- }
2604

被折叠的 条评论
为什么被折叠?



