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