Android退出事件处理
Posted changchou
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android退出事件处理相关的知识,希望对你有一定的参考价值。
为了防止用户误点退出键,很多应用都需要按两次退出键才会退出程序。下面介绍两种方法实现:
按照两次退出键的时间判断:
private long lastClickTime = 0; @Override public void onBackPressed() { if (lastClickTime <= 0) { Toast.makeText(this, "再按一次后退键退出应用", Toast.LENGTH_SHORT).show(); lastClickTime = System.currentTimeMillis(); } else { long currentClickTime = System.currentTimeMillis(); if (currentClickTime - lastClickTime < 2000){ finish(); } else { Toast.makeText(this, "再按一次后退键退出应用", Toast.LENGTH_SHORT).show(); lastClickTime = System.currentTimeMillis(); } }
按照是否连续点击退出键判断:
protected int mFinishCount = 0; @Override public boolean dispatchTouchEvent(MotionEvent ev) { mFinishCount = 0; return super.dispatchTouchEvent(ev); } @Override public void finish() { mFinishCount++; if (mFinishCount == 1) { Toast.makeText(this, "再按一次退出!", Toast.LENGTH_LONG).show(); } else if (mFinishCount == 2) { super.finish(); } }
以上是关于Android退出事件处理的主要内容,如果未能解决你的问题,请参考以下文章
Android 事件分发事件分发源码分析 ( Activity 中各层级的事件传递 | Activity -> PhoneWindow -> DecorView -> ViewGroup )(代码片段
Cocos2D-X2.2.3学习笔记9(处理重力感应事件,移植到Android加入两次返回退出游戏效果)