Detect two hardware button press simultaneously

前端 未结 2 1318
滥情空心
滥情空心 2020-12-11 21:43

I want to add listener when my two hardware button presses like volume button and power button. But i came to know that you can\'t override power button. Actually i want to

2条回答
  •  有刺的猬
    2020-12-11 22:17

    You need override onKeyDown and onKeyUp events to detect two buttons pressed.

     public boolean first,second;
    
     public boolean onKeyDown(int keyCode, KeyEvent event) {
    
        if (keyCode == KeyEvent.KEYCODE_POWER){
            first = true;
        }
        else if(keyCode == KeyEvent.KEYCODE_VOLUME_UP){
            second = true;
        }
    
        if(first && second) {
            // Two buttons pressed, Do your stuff
        }
        return true;
     }
    
     public boolean onKeyUp(int keyCode, KeyEvent event) {
    
        if (keyCode == KeyEvent.KEYCODE_POWER){
            first = false;
        }
        else if(keyCode == KeyEvent.KEYCODE_VOLUME_UP){
            second = false;
        }
        return true;
     }
    

提交回复
热议问题