MainActivity.java:
public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) { dialog(); } return false; } protected void dialog(){ AlertDialog.Builder builder = new AlertDialog.Builder(this); //AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this); builder.setMessage("確認退出?"); builder.setTitle("提示"); builder.setPositiveButton("確認", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); finish(); //MainActivity.this.finish; } }); builder.setNegativeButton("取消", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); } }); builder.create().show(); }
最終結果:
最後要說的是,本案例重在這個提示,退出程序僅是在只有一個activity的app中使用的,如果app中含有多個activity,這個finish()僅僅只是結束當前activity,並不退出整個程序。如果要退出整個程序,殺死所有進程,請點擊https://blog.csdn.net/liu68686868/article/details/80501088