gpt4 book ai didi

java - Android 中如何检测物理按键的双击?(onKeyMultiple)

转载 作者:行者123 更新时间:2023-12-01 16:33:53 31 4
gpt4 key购买 nike

我正在使用物理按键制作 Android 应用程序。我制作了键码 24(可以更改为唯一键)来在我的代码中执行一些工作,并希望在单击两次时使其执行其他操作。我尝试了 onKeyMultiple 但它根本不起作用。下面是我的 onKeyMultiple 代码

@Override
public boolean onKeyMultiple(int keyCode, int repeatCount, KeyEvent event) {
Log.d("KeyCode Multiple : ", Integer.toString(keyCode) + "," + Integer.toString(repeatCount));
Intent intent;
if (keyCode == 24 && event.getRepeatCount() == 2) { // original : 133
FindActivity.this.finish();
intent = new Intent(getApplicationContext(), MainActivity.class);
startActivity(intent);
}
return false;
}

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == 24) {
event.startTracking();
Log.d("Main Java Log", "keyevent count : " + Integer.toString(event.getRepeatCount()));
}
return super.onKeyDown(keyCode, event);
}

我首先尝试了 if (keyCode == 24 && RepeatCount == 2) 但它不起作用,所以我做了 onKeyDown 跟踪 24 的下来并 make if (keyCode == 24 && event.getRepeatCount() == 2)但同样它也不起作用。另外,每当我单击 24 键一次或两次时, getReapeatCount() 都会返回 0。我搜索了使用 onKeyMultiple 或使用多个物理 keyevent 的示例,但找不到任何示例。请给我一些建议或更正我的代码。真的提前致谢。

最佳答案

这有帮助吗:

private boolean clickedTwice = false;

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == 24) {

if(clickedTwice){

//key was clicked twice
clickedTwice = false;
event.startTracking();

}else{
//key was clicked the first time
clickedTwice = true;

}

return true;

}
return super.onKeyDown(keyCode, event);
}

关于java - Android 中如何检测物理按键的双击?(onKeyMultiple),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62000318/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com