Android:如何根据同时按下硬键来运行代码?

时间:2014-03-18 10:58:26

标签: android onkeypress

当我同时按下VOLUME DOWN和POWER BUTTON时,我正试图实现一项功能;我必须能够在我的Activity中运行方法代码。

public boolean onKeyUp(int keyCode, KeyEvent event) 
 {
  }

从我最初的搜索;似乎只有一个这样的按键事件在Android中使用onKeyUp方法一次被确认。这是真的吗?

在我的Android手机中,同时按下POWER BUTTON以及MENU BUTTON,我可以拍摄一个屏幕截图。

此功能是否不承认同时按键?

1 个答案:

答案 0 :(得分:1)

我之前没有对此进行过调查,并且没有这台计算机上的环境进行测试,但是没有" onKeyDown"?

public boolean onKeyDown(int keyCode, KeyEvent event) {
    if ( keyCode == KeyEvent.KEYCODE_VOLUME_DOWN ) {
        _volumeDown = true;
        testCombo();
        return true;
    } else if ( keyCode == KeyEvent.KEYCODE_POWER) {
        _powerButton = true;
        testCombo();
        return true;
    }
    return false;
}
public boolean onKeyUp(int keyCode, KeyEvent event) {
    if ( keyCode == KeyEvent.KEYCODE_VOLUME_DOWN ) {
        _volumeDown = false;
        return true;
    } else if ( keyCode == KeyEvent.KEYCODE_POWER ) {
        _powerButton = false;
        return true;
    }
    return false;
}
private void testCombo() {
    if ( _powerButton && _volumeDown ) {
        // Do what Ever
    }
}

再次代码未经测试,但我认为逻辑应该是正确的......