Android 程式在點擊回退鍵時,如果只有一個activity,調用finish()方法就能退出介面,如果有多個介面,在調用該方法時,只會銷毀當前的activity,顯示棧頂的其它activity,換言之,就是無法退出整個應用程式。下面是一種快速的退出整個應用的方法代碼:
private void showTips() {AlertDialog alertDialog = new AlertDialog.Builder(this).setTitle("提醒").setMessage("是否退出程式").setPositiveButton("確定", new DialogInterface.OnClickListener() {public void onClick(DialogInterface dialog, int which) {Intent intent = new Intent(Intent.ACTION_MAIN); intent.addCategory(Intent.CATEGORY_HOME); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(intent); android.os.Process.killProcess(android.os.Process.myPid());}}).setNegativeButton("取消",new DialogInterface.OnClickListener() {public void onClick(DialogInterface dialog, int which) {return;}}).create(); // 建立對話方塊alertDialog.show(); // 顯示對話方塊}
@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) {// TODO Auto-generated method stubif (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {showTips();return false;}return super.onKeyDown(keyCode, event);}