0

设想:

  • 活动 A(清单中的 MAIN 和 LAUNCHER)在单击启动器图标时启动。

  • 反过来,它会启动活动 B。

  • Activity B 然后启动我们的主应用程序 Activity C(清单中的 MAIN 和 singleTask)。

我要求的行为:

显示活动 C 并按下主页键后,下次按下启动器图标时,我想直接跳到活动 C(并且不再显示活动 A(以及因此 B))。

我曾尝试使用 A 中的 FLAG_ACTIVITY_CLEAR_TOP,但每当我点击启动屏幕上的图标时,我仍然会得到 Activity A。

我的单任务活动 C 从启动器的外观是否可以实现?

更新:使用 A 中的 FLAG_ACTIVITY_CLEAR_TOP 而不调用 finish() 会导致 Activity B 在按下启动器图标时出现。但是,从 B 应用 FLAG_ACTIVITY_CLEAR_TOP 并且不调用 finish() 也不能解决这种情况。现在我在启动器图标按下时没有得到 A,而是得到 B。什么给了!

4

1 回答 1

0

在此处查看类似情况。

在您的情况下,我建议使用类似的方法,您将拥有一个 SharedPreference ,该值将保留一个值,该值表示您的应用程序之前是否已启动。

创建一个简单的 Activity,它将包含您在此处尝试执行的操作的逻辑。在该活动的(“pre-A”活动)onResume() 方法中,检查表示应用程序之前是否运行过的首选项的值。

如果之前没有运行过,则向 Activity A 发起 Intent,该 Intent 会调用后续的 B 和 C 活动;否则,启动 Activity C 的意图。

看起来很简单,只需记住在清单中定义新的“Pre-A”活动!

于 2013-08-08T17:19:41.767 回答