finish()只能结束当前界面,执行后会显示上一界面。
对于有多个界面的应用程序,如何退出?
下面是摘自csdn论坛的一段代码,如下:
int sdk_Version = android.os.Build.VERSION.SDK_INT;
if (sdk_Version >= 8) {
Intent startMain = new Intent(Intent.ACTION_MAIN);
startMain.addCategory(Intent.CATEGORY_HOME);
startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(startMain);
System.exit(0);
} else if (sdk_Version < 8) {
ActivityManager activityMgr = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
activityMgr.restartPackage(getPackageName());
}
- public void ConfirmExit() {
- AlertDialog.Builder ad = new AlertDialog.Builder(this);
- ad.setTitle("退出");
- ad.setMessage("是否退出软件?");
- ad.setPositiveButton("是", new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int i) {
-
- int sdk_Version = android.os.Build.VERSION.SDK_INT;
- if (sdk_Version >= 8) {
- Intent startMain = new Intent(Intent.ACTION_MAIN);
- startMain.addCategory(Intent.CATEGORY_HOME);
- startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
- startActivity(startMain);
- System.exit(0);
- } else if (sdk_Version < 8) {
- ActivityManager activityMgr = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
- activityMgr.restartPackage(getPackageName());
- }
- }
- });
- ad.setNegativeButton("否", new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int i) {
-
- }
- });
- ad.show();
- }