sgunji’s blog

ものづくりやプログラミングなど…最近はXamarinを少々

Androidでのコードによるハードキー割り当て

最近防水スマホが多くなって雨降ってても普通に使われている方が増えていて,ちょっと画面が濡れただけで操作できなくなってしまうので,ハードウェアキーに割り当ててほしいと言われたのでメモ。

個人的な意見ですが,ハードウェアキーって電源ボタンとボリュームボタンくらいしかなくて,どの機能を割り当てましょうっていう選択の余地はほぼない感じなので,使用頻度は限定的なのではと思います。

なんかのactivityに以下を追加します。

@Override
public boolean dispatchKeyEvent(KeyEvent event) {
    swtich(event.getAction()){
        case KeyEvent.ACTION_DOWN :
            switch(event.getKeyCode() ){
                case KeyEvent.KEYCODE_VOLUME_DOWN: //ボリュームを下げるボタンを押された時の挙動
                //処理をごにょごにょ
                break;
            default :
                break;
            }
    }
    return super.dispatchKeyEvent(event);
}

ただし、

KEYCODE_VOLUME_DOWN

KEYCODE_VOLUME_UP

KEYCODE_POWER

しか選択余地はないのだー!