Adsense_top

2013年2月2日土曜日

Androidメモ - ハードキーイベントの横取り方法

Androidのプログラミングメモです。 

・ハードキーイベントの横取り方法 
Activityでは、「dispatchKeyEvent」を使用。 
Viewでは、「onKeyUp」「onKeyDown」を使用。
「onKeyUp」「onKeyDown」について、ハード(Androidのバージョン)により動作が異なるとの情報もあるため、「dispatchKeyEvent」の方が無難と思われる。
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
// 例はボタンが離された時
// ボタンが押された時を拾うにはKeyEvent.ACTION_DOWN
// (但し、長押しの場合、連続して呼ばれる事がある点に注意)
if (event.getAction() == KeyEvent.ACTION_UP) {
switch (event.getKeyCode()) {
case KeyEvent.KEYCODE_VOLUME_UP: // 音量アップボタン
// trueで、コード側で処理した事を表わす。
return true;
case KeyEvent.KEYCODE_VOLUME_DOWN: // 音量ダウンボタン
return true;
// case
// : 
default:
return super.dispatchKeyEvent(event);
}
}
return super.dispatchKeyEvent(event);
}

0 件のコメント:

コメントを投稿