【问题标题】:Activity lifecycle活动生命周期
【发布时间】:2014-05-18 05:55:09
【问题描述】:

我有 3 项活动:

主要活动 -> 开始活动 2

activity 2 -> 使用 MP 播放声音,如果完成则启动 activity 3

activity 3 -> 使用 MP 播放另一个声音,如果完成则启动 Main。

现在我回到主活动,单击返回按钮并返回活动 3,但如果单击主活动中的返回,我想退出应用程序。 我该如何处理?

【问题讨论】:

  • 活动3,发布main的启动方法?

标签: android return main android-lifecycle


【解决方案1】:

将此添加到清单中的主要活动定义中:android:launchMode="singleTask"

在您的示例中发生的情况是,您在每个级别调用 startActivity 时将活动添加到堆栈中。如果你调用startActivity 回到你的主要活动,你只是将它添加到堆栈中。但是,如果您不想担心将所有内容从堆栈中弹出,您可以将其添加到您的活动清单条目中,系统会将主要活动放在堆栈顶部并删除其上的任何其他内容。

这种方法比在所有活动上调用 finish() 更简洁一些,因为您可能希望从活动 3 回到活动 2。

【讨论】:

    【解决方案2】:

    您可以在使用finish() 方法开始下一个活动时完成这些活动。如果这样做,您也不必启动 Main。

    活动堆叠在一起。使用 finish() 可以删除当前活动,从而将其从堆栈中删除。

    Activity3 -> 完成后完成

    Activity2 -> 调用 3 时结束

    主要

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-01-13
      • 2011-12-18
      • 1970-01-01
      • 2019-04-17
      • 2014-09-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多