【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】 Android4.1のserviceでdefaultPreferenceがおかしい
【現象】 ActivityでdefaultPreferencesで保存したデータがservice内
-
【android】リスト項目のmatch_parentが効かない
下記のようなリスト項目用のレイアウトを用意して、リストの右端にチェックボックスを置くようにしたのです
-
【android】stringsリソースにパラメータを埋め込む
●strings.xml %n$x n : 引数に渡す際の順番。n番目の引数。 x
-
【android】 webviewでassetsのリソースを使用する
webviewでassets内のリソースにアクセスするには file:///android_a
-
【android】アニメーション
Viewにアニメーションを付加する方法です。 目次 アニメーションの実行 de
-
【android】サービスの実装
ダウンロードなどActivityに依存したくない大きなバックグラウンド処理や常駐プロセスを作りたい場
-
【android】リソースからいろいろ取得する
リソースで定義したいろいろをコード内で呼び出す方法です。 レイアウト //リソースからレ
-
【andoid】ViewPagerを使う
1. layout.xmlにViewPagerを配置 2. PagerAdapter.jav
-
【android】スリープモードに入らせない
Androidでは一定時間、操作をしないとスリープモードに入って待機状態になってしまいますが、動
-
【android】任意のスレッドで処理を行う
非UIスレッドでUIを操作したい場合に、任意の処理をUIスレッド上で実行する。 目次
- PREV
- アプリ間連携 Intentfiler
- NEXT
- 【android】非同期処理