在ActivityGroup中捕获back键,以便在退出时做一次提示
但是在ActivityGroup中重载onKeyDown无法捕获,onKeyDown没有被执行
于是重载dispatchKeyEvent 。
只是把别人的activity的onkeydown稍微改了一下
代码如下:
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
System.out.println(KeyEvent.KEYCODE_BACK+"--------------------"+event.getKeyCode()+"---------------------"+event.getAction());
long exitTime = 0;
if(event.getKeyCode()==KeyEvent.KEYCODE_BACK && event.getAction()==KeyEvent.ACTION_DOWN){
if((System.currentTimeMillis()-exitTime) > 2000){
Toast.makeText(getApplicationContext(), "再按一次退出程序", Toast.LENGTH_SHORT).show();
exitTime = System.currentTimeMillis();
} else {
finish();
System.exit(0);
}
return true;
}
return super.dispatchKeyEvent(event);
}
这样就没问题啦。。。运行OK