在开发的时候如果自己的类继承了TabActivity类,那么这时你会发现重载Activity类的onKeyDown方法点击按键时是得不到任何的响应,那么这时只能重载dispatchKeyEvent()方法。
下面的代码则是重载了dispactchKeyEvent()方法,并监听返回按钮提示用户连续点击两次退出程序的代码
首先在类的全局中定义一个全局long型的变量firstTime=0;当然名称可以自定义。
具体实现代码:
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
if(event.getKeyCode()==KeyEvent.KEYCODE_BACK){
if(event.getAction()==KeyEvent.ACTION_DOWN&&event.getRepeatCount()==0){
long secondTime=System.currentTimeMillis();//第二次点击的时间
if(secondTime-firstTime>2000){//如果两次点击的时间大于2秒,则提示再按一次
Toast.makeText(this, "再按一次退出增益速递", Toast.LENGTH_SHORT).show();
firstTime=secondTime;//改变第一次的点击时间
return true;
}else{
//退出程序
System.exit(0);
}
}
}
return super.dispatchKeyEvent(event);
}
这样就实现类连续点击两次退出程序