1

就像电源按钮和降低音量按钮的组合一样 - 截取手机的屏幕截图......同样,我试图在我的应用程序中访问音量提高和电源按钮长按键并提供快捷方式。这可能吗?

我知道如何单独访问两个按钮,但不能同时访问。

      @Override
      public boolean onKeyLongPress(int keyCode, KeyEvent event) {

    if (keyCode == KeyEvent.KEYCODE_POWER){
        Log.w("LongPress", "power LONG PRESS");
    }

                if (keyCode == KeyEvent.KEYCODE_VOLUME_UP){
        Log.w("LongPress", "Volume Up LONG PRESS");
    }

    return super.onKeyLongPress(keyCode, event);
   }

    @Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_VOLUME_UP){
        event.startTracking();
        return true;
    }
    return super.onKeyDown(keyCode, event);
  }

如何在这里完成组合'&&'不起作用?

4

1 回答 1

-1

我不懂android下的编程,但我看到它使用Java类,所以试试这个

public class BitKeys implements KeyListener {

    private BitSet keyBits = new BitSet(256);

    @Override
    public void keyPressed(final KeyEvent event) {
        int keyCode = event.getKeyCode();
        keyBits.set(keyCode);
    }

    @Override
    public void keyReleased(final KeyEvent event) {
        int keyCode = event.getKeyCode();
        keyBits.clear(keyCode);
    }

    @Override
    public void keyTyped(final KeyEvent event) {
        // don't care
    }

    public boolean isKeyPressed(final int keyCode) {
        return keyBits.get(keyCode);
    }

}

我在这里找到了这个: 处理多个按键忽略重复的键

于 2014-03-24T16:04:07.710 回答