【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] モンキーテスト(Monkey Test)を実行する
最近テストの効率化に目覚めました。 モンキーテストは猿にアプリを渡してみてめちゃくちゃな操作をさせ
-
【android】リスト項目のmatch_parentが効かない
下記のようなリスト項目用のレイアウトを用意して、リストの右端にチェックボックスを置くようにしたのです
-
【android】任意のスレッドで処理を行う
非UIスレッドでUIを操作したい場合に、任意の処理をUIスレッド上で実行する。 目次
-
ダイアログを表示する
カスタムアラートダイアログ private void showCustomAlert(A
-
【android】サービスの実装
ダウンロードなどActivityに依存したくない大きなバックグラウンド処理や常駐プロセスを作りたい場
-
【android】 APIバージョンによる動作の違い
「最近使用したアプリケーション」からの起動 2.x系 -> onNewIntentが呼ばれる 4
-
【android】標準の設定画面を作る
設定画面のテンプレートです。 検索一発クンのコードから抜粋しました。 チェックボックス、リス
-
[android] ActivityとFragmentのライフサイクルいろいろ
Fragmentを使い始めてライフサイクル関係でハマることがあったので備忘録。 FragmentA
-
【android】オーバーレイでトップレイヤーにViewを表示する
常にホーム画面や他のアプリより前面にViewを表示する方法です。 前面に透明のViewGroupを
-
[android] JSONのパースにかかる時間
リストデータなんかを保存したいというのはよくある要件だと思います。 DBは面倒だしカラム毎に集計す
- PREV
- アプリ間連携 Intentfiler
- NEXT
- 【android】非同期処理