我想要按键代码KEYCODE_BACK(后退按钮)按键和长按键。任何人都可以建议我如何在Android 1.5(API级别3)中执行此操作。
这是代码。
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
if(event.getRepeatCount()==0) {
// normal key press
//Do something here
// But problem is, this code is hitting for long press also, how to avoid this
} else {
// Long key press
//Do something here
}
// Always consume back key event by returning true
//so that default behavior of back is overrided
return true;
}
return super.onKeyDown(keyCode, event);
}
问题是长按正常按键的代码也会执行。我想避免这种情况。
注意:我不能使用onKeyLongPress()
,startTracking()
等方法,因为它们是在API级别5中引入的
答案 0 :(得分:0)
实际的事件调度代码没有长按概念,您需要做的就是在应用程序的主线程上对它们进行计时,应用程序可能会变得足够慢,以免在长按期内更新超时。
这是因为,Android 1.5没有真正的Keypress事件处理。这个版本在Android 2.0中引入了一个真正的KeyEvent API和长按的回调函数。