实现思路,因为可定只有在导航页的时候才会有双击退出的响应,所以我将这个方法放到了BaseActivity中去
1.先判断时候回到了主页,只有在主页的时候才会触发双击退出APP的事件
2.重写系统的onKeyDown()方法
下面就贴出代码:
protected boolean isRoot() { // <span style="color: rgb(51, 51, 51); font-family: arial; font-size: 13px; line-height: 20.0200004577637px;">判断当前Activity是否是最后一个Activity</span>
return isTaskRoot() || (getParent() != null && getParent().isTaskRoot());
}
然后在重写系统的onKeyDown()方法 ,来设置双击退出的事件
先会走else 会提示"再点击一次退出程序"
2s之内在点击一下返回键就会退出APP
<pre name="code" class="java">private long mClickTime; // 定义一个变量
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {if (isRoot() && event.getKeyCode() == KeyEvent.KEYCODE_BACK) { // 先判断时是否是在主页和点击了返回键long secondClick = System.currentTimeMillis(); // 取到当前点击的时间if (secondClick - mClickTime < 2000) {finish();return true;} else {mClickTime = secondClick;Toast.makeText(this, "再点击一次退出程序", Toast.LENGTH_SHORT).show();return true;}}return super.onKeyDown(keyCode, event);}
以上就是如何实现双击退出APP的全部步骤
欢迎大家加群互相交流学习Android
群号:Android开发经验交流群 454430053