如何捕获任意物理按钮(包括光学按钮)的两次点击?
类似于QuickDesk点击主页按钮时的操作。
由于
答案 0 :(得分:0)
只是一个想法:
如果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;
}