【问题标题】:How do you call the main launcher activity from another activity?你如何从另一个活动中调用主启动器活动?
【发布时间】:2012-04-26 08:31:37
【问题描述】:

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

【问题讨论】:

  • 不要认为您可以只使用来自另一个应用程序的活动来调用 startActivity。我认为你唯一的赌注是隐含意图。

标签: android android-intent main


【解决方案1】:

您可以通过Intent 完成此操作。

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

此 Intent 将启动用户定义的启动器应用程序。请注意这一点,因为如果用户没有预料到,这看起来就像您的应用程序崩溃了。

【讨论】:

    【解决方案2】:
    Intent intent = new Intent(this, MainActivity.class);
                intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                startActivity(intent);
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-29
      相关资源
      最近更新 更多