<< 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