Androidキーを押してプログラムを終了

2231 ワード

1.戻りキーを押した後、ダイアログボックスをポップアップし、ユーザーに選択させる
   @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        // TODO Auto-generated method stub
        switch (keyCode) {
            case KeyEvent.KEYCODE_BACK:
                AlertDialog.Builder build = new AlertDialog.Builder(this);
                build.setTitle("  ")
                        .setMessage("      ?")
                        .setPositiveButton("  ", new DialogInterface.OnClickListener() {

                            @Override
                            public void onClick(DialogInterface dialog, int which) {
                                // TODO Auto-generated method stub
                                finish();

                            }
                        })
                        .setNegativeButton("  ", new DialogInterface.OnClickListener() {

                            @Override
                            public void onClick(DialogInterface dialog, int which) {
                                // TODO Auto-generated method stub

                            }
                        })
                        .show();
                break;

            default:
                break;
        }
        return false;
    }

2.戻りキーを押した後、Toastメッセージをポップアップし、もう一度プログラムを終了する
  private long exitTime = 0;
    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if (keyCode == KeyEvent.KEYCODE_BACK
                && event.getAction() == KeyEvent.ACTION_DOWN) {
            if ((System.currentTimeMillis() - exitTime) > 2000) {
               Toast.makeText(MainActivity.this,"        ",Toast.LENGTH_SHORT).show();
                exitTime = System.currentTimeMillis();
            } else {
                finish();
                System.exit(0);
            }
            return true;
        }
        return super.onKeyDown(keyCode, event);
    }
ここで説明します.
(1)忘れないでください.この方法は書き直しです.
(2)初心者にとっては、このコードだけを追加すると、押し終わってからログインや登録ページに戻る学生もいます.その理由は、ログインや登録ページにfinish()が入っていないためです.このようにログインするか、タスクスタックの中にいるか、考えている人は、activityの4つのロードモードを理解することをお勧めします.これはもっと理解できます.
何か不足があれば、よろしくお愿いします.