【android】ハードウェアキー入力を検出する
公開日:
:
最終更新日:2012/05/07
android
Activityを継承したクラスで下記を記述します。
public boolean onKeyDown(int keyCode, KeyEvent event) { if(keyCode == KeyEvent.KEYCODE_BACK){ finish(); return false; }else{ return super.onKeyDown(keyCode, event); } }
ダイアログを表示している場合は、Activityのイベントとしてハードウェアキーの入力が検出できません。
ダイアログにキーイベントリスナを登録してやります。
final AlertDialog.Builder builder = new AlertDialog.Builder(act) .setTitle( act.getResources().getString(R.string.bookmark_editdialog_title) ) .setIcon( R.drawable.icon_01 ) .setOnKeyListener( new DialogInterface.OnKeyListener() { public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) { //ハードウェアキーの入力イベントを処理 if(keyCode == KeyEvent.KEYCODE_BACK){ finish(); return true; }else{ return false; } } })
関連記事
-
-
【android】Activityとプロセスのライフサイクル
またもやライフサイクル周りでハマったのですが、Androidのライフサイクルは複雑で困ります。 G
-
-
[android] モンキーテスト(Monkey Test)を実行する
最近テストの効率化に目覚めました。 モンキーテストは猿にアプリを渡してみてめちゃくちゃな操作をさせ
-
-
アプリ間連携 Intentfiler
ブラウザの共有からURLを受け取る。 Manifest.xmlのURL受け取り先のactivity
-
-
【android】アプリ内課金を実装する
アプリ内課金のサンプルコードを解析します。 参考URL 公式API Android
-
-
【android】オーバーレイでトップレイヤーにViewを表示する
常にホーム画面や他のアプリより前面にViewを表示する方法です。 前面に透明のViewGroupを
-
-
【android】複数のカスタムテーマを設定で切り替える
背景色やアプリ全体のテーマ色を設定で変更したいという要望をもらったので実装してみました。
-
-
【android】処理時間を計測する
パフォーマンスのリファクタリングを行うには処理時間の計測がかかせません。 SDK標準のクラスを使っ
-
-
【android】 APIバージョンによる動作の違い
「最近使用したアプリケーション」からの起動 2.x系 -> onNewIntentが呼ばれる 4
-
-
【android】アニメーション
Viewにアニメーションを付加する方法です。 目次 アニメーションの実行 de
- PREV
- アプリ間連携 Intentfiler
- NEXT
- 【android】非同期処理