FLAG_ACTIVITY_NEW_TASK的行为不符合预期

时间:2011-08-03 16:29:23

标签: android android-manifest

启动新活动时,我遇到有关FLAG_ACTIVITY_NEW_TASK标记的问题。

目前我有2个应用程序:应用程序A 只包含服务,可以启动应用程序B 的主要活动(应用程序B有1个)活动是其主要活动)

我的问题是:当应用程序B处于活动状态时(其主要活动对用户可见,并且它是其任务中唯一的活动),该服务获取应用程序B包名称的启动意图(来自{{1 }}并向其添加PackageManager标志(它必须这样做,因为它不是活动上下文,而是服务上下文)。

现在,在启动此意图时,由于开发人员指南中的文档如下所示,我预计不会发生任何事情:

  

FLAG_ACTIVITY_NEW_TASK

     

使用此标志时,如果任务已经存在   为你现在开始的活动而奔跑,然后是一项新的活动   不会开始;相反,将简单地带来当前任务   屏幕的前面是最后一个状态。

但是,由于某种原因,应用B的另一个主要活动是在已经存在的应用B的基础上创建和启动的,所以我在应用B任务中有2个主要活动。

主要活动在清单中没有设置特殊属性,因此其FLAG_ACTIVITY_NEW_TASK属性会自动设置为标准。

谢谢!

1 个答案:

答案 0 :(得分:1)

您是否尝试将Application B中主要活动的启动模式更改为Application B的AndroidManifest.xml中的SingleTask或SingleInstance?

有关详细信息,请参阅Launch mode