【发布时间】:2012-01-03 20:02:20
【问题描述】:
我正在尝试覆盖后退键的功能。当用户按下它一次时,我希望它回到上一个屏幕。但是,当长按返回键时(比如说,两秒或更长时间),我想退出应用程序。
到目前为止,我已经在我的活动中覆盖了这两个方法:
@Override
public boolean onKeyDown( int keyCode, KeyEvent event){
if (keyCode == KeyEvent.KEYCODE_BACK) {
//manage short keypress
return true;
}
return super.onKeyDown(keyCode, event);
}
@Override
public boolean onKeyLongPress( int keyCode, KeyEvent event){
if (keyCode == KeyEvent.KEYCODE_BACK) {
//manage long keypress (different code than short one)
return true;
}
return super.onKeyLongPress(keyCode, event);
}
但永远不会调用onKeyLongPress 回调,因为事件总是由onKeyDown 方法接收。
有没有办法让这两种方法都起作用?还是必须全部在onKeyDown中完成,并使用重复/毫秒数来检测?
【问题讨论】:
-
干草检查此链接keyevent doc
标签: android onkeypress long-press