首页 > 代码库 > android 实现按两次back键提示退出应用界面
android 实现按两次back键提示退出应用界面
通过连续按两次back键,弹出Toast提示再按一次退出功能。关键代码如下:
第一种方式:
/** * 连续按两次返回键就退出 */ private int keyBackClickCount = 0; @Override protected void onResume() { super.onResume(); keyBackClickCount = 0; } @Override public boolean onKeyDown(int keyCode, KeyEvent event) { // TODO Auto-generated method stub if (keyCode == KeyEvent.KEYCODE_BACK) { switch (keyBackClickCount++) { case 0: Toast.makeText(this, getResources().getString(R.string.press_again_exit), Toast.LENGTH_SHORT).show(); Timer timer = new Timer(); timer.schedule(new TimerTask() { @Override public void run() { keyBackClickCount = 0; } }, 3000); break; case 1: mFrameTv.setVisibility(View.VISIBLE); mImgTv.setVisibility(View.VISIBLE); Animation anim = AnimationUtils.loadAnimation( MainActivity.this, R.anim.tv_off); anim.setAnimationListener(new tvOffAnimListener()); mImgTv.startAnimation(anim); break; default: break; } <span style="color:#ff0000;"> return true;</span> } else if (keyCode == KeyEvent.KEYCODE_MENU) { if (sm.isMenuShowing()) { toggle(); } else { showMenu(); } } return super.onKeyDown(keyCode, event); }
第二种方式:
/** * 连续按两次返回键就退出 */ private boolean isWaitingExit = false; @Override public boolean onKeyDown(int keyCode, KeyEvent event) { // TODO Auto-generated method stub if (keyCode == KeyEvent.KEYCODE_BACK) { if (isWaitingExit) { isWaitingExit = false; mFrameTv.setVisibility(0); mImgTv.setVisibility(0); Animation anim = AnimationUtils.loadAnimation( MainActivity.this, R.anim.tv_off); anim.setAnimationListener(new tvOffAnimListener()); mImgTv.startAnimation(anim); } else { Toast.makeText(this, getResources().getString(R.string.press_again_exit), Toast.LENGTH_SHORT).show(); isWaitingExit = true; Timer timer = new Timer(); timer.schedule(new TimerTask() { @Override public void run() { isWaitingExit = false; } }, 3000); return true; } return true; } else if (keyCode == KeyEvent.KEYCODE_MENU) { if (sm.isMenuShowing()) { toggle(); } else { showMenu(); } } return super.onKeyDown(keyCode, event); }
android 实现按两次back键提示退出应用界面
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。