5

在我的程序中,我有一个在应用程序打开时启动的活动。如果我再打开几个活动,我怎样才能回到主要活动?在意图过滤器中,活动的名称是“android.intent.action.MAIN”,它不允许我对其调用 startActivity()。我该怎么办?

4

2 回答 2

9

您可以通过Intent做到这一点。

Intent startMain = new Intent(Intent.ACTION_MAIN);
startMain.addCategory(Intent.CATEGORY_HOME);
startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(startMain);

此 Intent 将启动用户定义的启动器应用程序。请注意这一点,因为如果用户不希望发生这种情况,这看起来就像您的应用程序崩溃了。

于 2012-04-14T02:41:27.837 回答
4
Intent intent = new Intent(this, MainActivity.class);
            intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
            startActivity(intent);

假设您的活动堆栈如下... MainActivity > Activity1 > Activity2> Activity3,运行上面的代码将关闭活动 1 和 2 并恢复 MainActivity

于 2012-04-14T01:16:31.060 回答