2014-01-27 5 views
1

Я новичок в Android. Я пытаюсь сделать приложение, которое будет работать в фоновом режиме и обнаружить три быстрых нажатия кнопки питания. Я много искал, но не мог очистить свое замешательство. может кто-нибудь, пожалуйста, дайте мне какое-нибудь предложение? ТИА.обнаружение трех нажатий кнопки питания

ответ

1

Объявите статическую переменную за пределами onKeyDown и добавьте переменную внутри onKeyDown и верните, если значение равно 3, а в конце снова равно статической переменной, равной 0;

static int i=0; 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if (event.getKeyCode() == KeyEvent.KEYCODE_POWER) { 
     i++; 
     if(i==3){ 
    //do something 

//at the end again i=0; 
     } 

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

Большое вам спасибо за помощь. действительно ценю это. – user2755646

0

Вы можете слушать при каждом нажатии кнопки питания, то в вашем слушателе можно

  • мера, сколько прессы вы только что сделали до этого момента
  • измерить время между текущей печатью и ваше последнее нажатие
  • Если ваш временной интервал прав (скажем 200 мс), то увеличивайте свои n_presses и делайте все, что захотите, после достижения 3 нажатий (например, создайте супер-событие и отправьте его в поток для его обработки)
+0

благодарит за помощь. – user2755646

Смежные вопросы