如何在退出Android中的应用程序之前准确清除后堆栈?



我该怎么做?我知道它可以做到

intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);

这个,但它通过意图启动一个新活动,但我想退出应用程序。

法典:

intent = new Intent();
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
activity.startActivity(intent);
activity.finish();

注意:我正在做非活动课,所以这就是为什么activity.finish();

试试这个

Intent intent = new Intent();
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK 
|Intent.FLAG_ACTIVITY_CLEAR_TASK);
activity.startActivity(intent);
activity.finish();

要退出应用程序调用finishAffinity()。通过使用它,您可以清除所有后退堆栈。

否则

从当前活动调用以下代码。

Intent intent = new Intent(getApplicationContext(),ActivityOne.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); //This will clear back stack
intent.putExtra("QUIT_CURRENT_ACTIVITY", true);
startActivity(intent);

然后在ActivityOneonCreate(...)方法中调用以下代码行。

if (getIntent().getBooleanExtra("QUIT_CURRENT_ACTIVITY", false)) {  //Default should be false
finish();
}

希望这对你有用。

你可以使用它。

Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
System.exit(0);

最新更新