<< Android-Note
BACKボタンの2度押しを感知するには
ActivityでBACKボタンが2回押されたら終了するような実装はファイルマネージャーなどのアプリでよく見られます。
このやり方は簡単でActivityのonBackPressedに次のようなコードを書きます。
/** ボタンが1回押されたかどうかを判定する変数 */ private boolean isBackPressedOnce = false; @Override public void onBackPressed() { if(isBackPressedOnce){ super.onBackPressed(); return; } isBackPressedOnce = true; Toast.makeText(this, "終了するにはもう一度押してください。", Toast.LENGTH_SHORT).show(); /** 2秒間の猶予 */ new Handler().postDelayed(new Runnable() { @Override public void run() { isBackPressedOnce = false; } }, 2000); }
1回BACKボタンを押すと "終了するにはもう一度押してください。" というトーストが表示され、2秒以内にもう一度押すと終了します。
押す間隔はここでは2秒にしました。一般的には2秒くらいがいいみたいです。
以上、BACKボタンの2度押しを感知する方法でした。
関連項目
© Kaz