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 に答える