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