首页 > 代码库 > Android后退事件的处理
Android后退事件的处理
当我们想退出应用程序时,一般都会采用按物理按键(后退键)的做法,当用户在按两次后退键的时候就将应用程序退出,即销毁当前的Activity();
重写onBackPressed()方法即可:
代码如下:
privateintclickCount=0;
@Override
publicvoidonBackPressed() {
//TODOAuto-generated method stub
//super.onBackPressed();
if(clickCount< 1){
Toast.makeText(this,"再按一次后退键退出应用程序!",Toast.LENGTH_SHORT).show();
clickCount++;
}else{
finish();
}
}
注意,需要将父类的onBackPressed()方法去掉,否则无论后面怎么写当按一次后退键的时候程序就会退出。
但这种写法有不好的地方,就是当用户在不小心按下两次后退键的时候都会退出,这样就不好,没有很好的用户体验。
为此我们将程序改进,当用户在按下第二次次退出键后如果和第一次之间的时间超过1s,我们就不将程序退出,视为无效的操作。
改进的代码如下:
privatelonglastClickTime= 0;
@Override
publicvoidonBackPressed() {
//TODOAuto-generated method stub
//super.onBackPressed();
if(lastClickTime<= 0){
Toast.makeText(this,"再按一次后退键退出应用程序!",Toast.LENGTH_SHORT).show();
lastClickTime= System.currentTimeMillis();
}else{
longcurrentClickTime = System.currentTimeMillis();
if(currentClickTime-lastClickTime< 1000){
finish();
}else{
Toast.makeText(this,"再按一次后退键退出应用程序!",Toast.LENGTH_SHORT).show();
lastClickTime= currentClickTime;
}
}}
Android后退事件的处理
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。