【发布时间】:2012-09-16 19:13:57
【问题描述】:
可能重复:
OnTouchListener, ACTION_UP fires automatically after 30 second timeout
我使用下面的代码来检查一个键是否被点击:
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
// Little method to allow the sound to be changed
if(keyCode == 24 || keyCode == 25) {
return false;
}
if(event.getAction() == KeyEvent.ACTION_DOWN) {
// if(resetKeyPress != true) {
this.keyCode = keyCode;
// resetKeyPress = true;
if(this.logGameEngineInputLog == true) {
gameEngineLog.d(classTAG, "Pressed down " + this.keyCode);
}
// }
}
else if(event.getAction() == KeyEvent.ACTION_UP){
//waitUntilReleased = false;
//this.changeKeyCode(null);
if(this.logGameEngineInputLog == true) {
gameEngineLog.d(classTAG, "Released key " + this.keyCode);
}
this.keyCode = null;
// resetKeyPress = false;
}
return true;
}
当我长时间单击一个按钮时,它一直说按下了一个按钮,但是过了一会儿它说该键已释放,即使我仍然按住该键。为什么要这样做?有没有办法防止这种情况?这是 Android 操作系统故意这样做的吗?如果是,为什么?
【问题讨论】:
-
可能类似,但我使用 OnKeyListener。
-
这是为摩托罗拉设备设计的吗?如果您点击重复问题上的链接,他们似乎认为这是一个“功能”。听起来没有任何解决方法。