2012-04-14 40 views
3

在我的程序中,我有一个在应用程序打开时启动的活动。如果我再开几次活动,我又该如何回到主要活动?在意图过滤器中,活动的名称是“android.intent.action.MAIN”,并且它不允许我在其上调用startActivity()。我该怎么办?你如何从其他活动中调用主发射器活动?

+1

不认为你可以用另一个应用程序的活动调用startActivity。我认为你唯一的赌注是隐含的意图。 – CChi 2012-04-14 00:31:25

回答

4
Intent intent = new Intent(this, MainActivity.class); 
      intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
      startActivity(intent); 

比方说,你的活动堆栈如下... MainActivity>活动1>活性2> Activity3, 运行上面的代码将关闭活动1 & 2,恢复MainActivity

4

你可以做到这一点通过Intent

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

此意向将启动用户已定义的启动器应用程序。请小心,因为如果用户不期望这会看起来像你的应用程序崩溃。