Hey guys,
How would I capture two clicks of any of the physical buttons (including the optical button)?
Something like what QuickDesk does with the two clicks of the Home button.
Thanks
Hey guys,
How would I capture two clicks of any of the physical buttons (including the optical button)?
Something like what QuickDesk does with the two clicks of the Home button.
Thanks
Just an idea:
If there is no API already in Android to handle that then you could try deferring the conclusion about the single/double/triple/etc. click by setting a small timeout (say around ~300ms) in that overridden hadrware button handler and in the meantime count the number of calls made to that specific button, check it when the timer ticks and you've got it.
Edit:
Here is something from the top of my head. Do tweak it a bit for more optimized performace.
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;
}