0

ユーザーがハードウェアの [戻る] ボタンをダブルタップしたときにアプリケーションを終了しようとしています。アプリケーションで次のコードを使用しました。

    if (doubleBackToExitPressedOnce) {
        super.onBackPressed();
        Dashboard_Activity.this.finish();
        return;
    }

    this.doubleBackToExitPressedOnce = true;
    Toast.makeText(this, "Please click BACK again to exit",
            Toast.LENGTH_SHORT).show();

    new Handler().postDelayed(new Runnable() {

        @Override
        public void run() {
            doubleBackToExitPressedOnce = false;
        }
    }, 2000);

ここで、ユーザーがハードウェアの [戻る] ボタンをダブルタップすると、同じアクティビティが何度も表示されますが、アプリは終了しません。問題の解決を手伝っていただけませんか。

4

3 に答える 3

0

次のことを試してください。

private static long back_pressed;

    @Override
    public void onBackPressed()
    {
        if (back_pressed + 2000 > System.currentTimeMillis()) super.onBackPressed();
        else Toast.makeText(getBaseContext(), "Press once again to exit!", Toast.LENGTH_SHORT).show();
        back_pressed = System.currentTimeMillis();
    }

ソース

于 2015-05-26T09:36:12.360 に答える