【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】 setOnClickListener(false)が効かない
間違いその1 OnClickListenerが登録されているViewにsetClickable
-
【android】 webviewでassetsのリソースを使用する
webviewでassets内のリソースにアクセスするには file:///android_a
-
【android】アプリ内課金を実装する
アプリ内課金のサンプルコードを解析します。 参考URL 公式API Android
-
【android】 APIバージョンによる動作の違い
「最近使用したアプリケーション」からの起動 2.x系 -> onNewIntentが呼ばれる 4
-
【android】ネットワークの接続状況を確認する
コードから接続状況を確認。 ConnectivityManager co
-
【android】 adbコマンド集
●adbサービス起動 adb start-server ●adbサービス終了 adb
-
【android】ホーム画面や他のアプリの前面にViewを表示する。
WindowManagerのTYPE_SYSTEM_ALERTのレイヤーにViewを表示することで、
-
【android】言語・地域設定の取得
androidでは利用する言語と国名がjava.util.Localeのオブジェクトとして設定されて
-
【android】アプリのバージョン情報を取得する
int versionCode = -1; String versionName = &quo
- PREV
- アプリ間連携 Intentfiler
- NEXT
- 【android】非同期処理