如何捕获任何物理按钮(包括光学按钮)的两次点击?
类似于 QuickDesk 通过两次单击主页按钮所做的事情。
谢谢
只是一个想法:
如果 Android 中已经没有 API 来处理它,那么你可以尝试推迟关于单/双/三/等的结论。通过在该覆盖的 hadrware 按钮处理程序中设置一个小的超时(比如大约 300 毫秒)单击,同时计算对该特定按钮的调用次数,在计时器滴答作响时检查它,你就知道了。
编辑:
这是我的想法。稍微调整一下以获得更优化的性能。
private Timer mDoubleClickTimer;
private boolean possibleDoubleClick = false;
@Override
public boolean onKeyUp(int keyCode, KeyEvent event){
if(keyCode==KeyEvent.KEYCODE_MENU){ //or whatever key you want to check for double-clicks
if(mDoubleClickTimer!=null) {mDoubleClickTimer.cancel();}
if(!possibleDoubleClick){
possibleDoubleClick = true;
mDoubleClickTimer = new Timer();
mDoubleClickTimer.schedule(new TimerTask() {
@Override
public void run() {
//single click detected
//handle it here
possibleDoubleClick = false;
}
},300);
}else{
//double click detected
//handle it here
possibleDoubleClick = false;
}
//... other key processing if you need it
return false;
}