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
しか選択余地はないのだー!