Просто идея:
Если в Android уже нет API, который мог бы справиться с этим, то вы могли бы попытаться отложить вывод о единственном / двойном / тройном / и т.д.щелкните, установив небольшой тайм-аут (скажем, ~ 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;
}