有人可以解释一下FLAG_ACTIVITY_PREVIOUS_IS_TOP

时间:2013-10-18 16:10:30

标签: android

我有一个包含多项活动的Android应用。主要活动通过网络进行通信,可以根据通过网络接收的命令启动或解除各种其他活动。当一个Activity被解雇时我不想finish()它,只需将它向下移动到栈中,这样它就不再是顶级活动了。我真正需要的是一个FLAG_ACTIVITY_REORDER_TO_BOTTOM,但没有这样的东西。

有一个名为FLAG_ACTIVITY_PREVIOUS_IS_TOP的意图标志,名称意味着类似的内容,但我不理解描述:

  

“如果设置并且此意图用于从a启动新活动   现有的一项,目前的活动将不算作最高   用于决定是否应将新意图传达给的活动   顶部而不是开始一个新的。之前的活动将是   用作顶部,假设是当前的活动   将立即完成自己“

有人可以为我解码,如果不是我想要的那么有什么方法可以告诉某个活动淹没在前一个活动之下吗?

2 个答案:

答案 0 :(得分:0)

这是不可能的。活动堆积在一起,你不能把一个放在另一个之下。听起来你可能想要创建一个扩展Android的android.app.Application的类。

我在网上找到了这个教程,看起来不错。祝你好运。

Extending Android's android.app.Application tutorial

答案 1 :(得分:0)

您无法将某个活动以下的活动移动到Android后台堆栈中。在后台堆栈中移动活动的唯一方法是在其上打开另一个活动。您可以通过使用 FLAG'ingleTop'创建单个活动实例来移动活动,这样您的活动就会移到另一个活动的顶部,只有一个活动实例会在那里在堆栈中。

有关活动后台和标志的更多信息可用here.

仔细阅读这些信息,你所有的疑虑都会被清除掉后筹码。