我的应用程序中有以下代码。只要音量按钮保持按下状态,我就会得到ACTION_DOWN,但是当我释放它时,我希望得到ACTION_UP。这不会发生。为什么?它可能是我的LG G2(棒棒糖)上的错误?我需要的只是为VolumeUp按钮操作添加一个监听器。增大音量按钮在发布时不提供动作
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_VOLUME_UP) {
if (event.getAction() == KeyEvent.ACTION_UP) {
//TODO
Log.d(TAG,"VOL UP");
return true;
}
if (event.getAction() == KeyEvent.ACTION_DOWN) {
//TODO
Log.d(TAG,"VOL DOWN");
return true;
}
Log.d(TAG,String.valueOf(keyCode));
return true;
}
return super.onKeyDown(keyCode, event);
}
你应该使用'@覆盖公共布尔的onkeyup(INT的keyCode,KeyEvent的事件){...}'来跟踪关键了 – zzas11
谢谢@ zzas11!有用!我认为onKeyDown()方法还提供了一个关于按钮释放的事件... –
不客气。您可以参考Android API文档:http://developer.android.com/reference/android/view/KeyEvent.Callback.html – zzas11