【问题标题】:Android Activity back stack navigationAndroid Activity 回栈导航
【发布时间】:2017-05-11 13:03:26
【问题描述】:

我有一个应用程序,它有几个活动,其中一个就像“提醒弹出式”活动。此活动定义为 NEW_TASK 并从服务中启动。 但问题是当这个活动出现时,它总是将我的应用程序的前一个堆栈放在前面,即使其他一些应用程序已经在前台。

请看下图:

我想要实现的行为是,当 Popup Activity 关闭时,如果在 Popup Activity 出现之前它处于前台,则将“其他应用程序”置于前面。 目前“My App stack 1”的Activity C总是在前面。

【问题讨论】:

    标签: android android-activity android-background


    【解决方案1】:

    如果您想在前台创建“其他一些应用程序堆栈 1”,那么您应该从“其他一些应用程序堆栈 1”的活动 c 中调用该弹出窗口...这里您总是从“我的应用程序堆栈 1”中调用弹出窗口“的活动c ..所以如果你总是想将“其他应用程序堆栈1”的活动c显示为前台,那么从“我的应用程序堆栈1”的活动c调用活动,首先显示弹出窗口.. .. 如果为 0,您可以检查该位,然后弹出显示其他明智的“其他应用程序堆栈 1”的活动 c 的布局...

    【讨论】:

    • 1.代码太大,无法在此处添加。 2. 虽然图中显示了从activityC 到PopupActivity 的箭头,但我描述了activityC 是从后台服务打开的。 3.我不能从其他应用程序调用我的弹出活动... 4.我不想总是显示其他应用程序,我想回到前台的最后一个应用程序。目前,当 PopupAcivity 关闭时,它总是返回到“My App Stack 1”的 ActivityC。
    • 是的,但是您如何检查应用程序是否正在运行,因为您已经在您的应用程序中并且它在前台。因此它将始终返回该应用程序。因为您不知道所有应用程序的包名称以在该应用程序上动态重定向。
    【解决方案2】:

    好的,解决方案是将 Manifest 中的 PopupActivity 声明为 singleTask,并以包含标志 NEW_TASK 的意图调用此活动。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-06-26
      • 2020-09-11
      • 1970-01-01
      • 2016-11-25
      • 1970-01-01
      • 2020-12-11
      • 1970-01-01
      • 2022-07-22
      相关资源
      最近更新 更多