Androidキーを押してプログラムを終了
2231 ワード
1.戻りキーを押した後、ダイアログボックスをポップアップし、ユーザーに選択させる
2.戻りキーを押した後、Toastメッセージをポップアップし、もう一度プログラムを終了する
(1)忘れないでください.この方法は書き直しです.
(2)初心者にとっては、このコードだけを追加すると、押し終わってからログインや登録ページに戻る学生もいます.その理由は、ログインや登録ページにfinish()が入っていないためです.このようにログインするか、タスクスタックの中にいるか、考えている人は、activityの4つのロードモードを理解することをお勧めします.これはもっと理解できます.
何か不足があれば、よろしくお愿いします.
@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つのロードモードを理解することをお勧めします.これはもっと理解できます.
何か不足があれば、よろしくお愿いします.