重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
很多应用中都有一个在用户后退的时候显示“再按一次退出”的提醒,这个怎么实现呢?有两种方式
为丰都等地区用户提供了全套网页设计制作服务,及丰都网站建设行业解决方案。主营业务为网站设计、网站建设、丰都网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
第一种方式(最常用)
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); }
第二种方式
重写onBackPressed方法直接监听返回键
@Override public void onBackPressed() { long currentTime = System.currentTimeMillis(); if((currentTime-touchTime)>=waitTime) { //让Toast的显示时间和等待时间相同 Toast.makeText(this, "再按一次退出", (int)waitTime).show(); touchTime = currentTime; }else { finish(); } }
这种方法虽然写法简单,但是这种方法缺只适用于Android 2.0以后.
如果你需要同时重写这两个方法,可能要注意一些问题啦!系统先是onKeyDown,如果return true了,就不会onBackPressed了
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对创新互联的支持。如果你想了解更多相关内容请查看下面相关链接