后台服务的startActivity导致奇怪的任务切换行为

时间:2011-10-21 11:26:48

标签: android android-activity background

我的应用程序主要包括两个活动,A和B,以及后台服务(由闹钟启动)。 活动A是启动器(主要)活动。 活动B不时地由后台服务启动,并设置FLAG_ACTIVITY_NEW_TASK(这是bg服务中活动开始所必需的。)

期望的行为:每当应用程序离开(返回主屏幕,后退按钮等)并且用户返回时,活动A将被恢复。

我的问题:每当后台服务启动B时,应用程序始终通过活动切换器(长按主页按钮)返回B,否如果我通过后退按钮关闭它,则无关紧要。然后,如果我选择应用程序的主页图标,则只能返回活动A(因为A随后作为启动活动启动)。

我认为这与后台服务在新任务中启动B的事实有关,并且应用程序切换器尝试返回到这个新任务。但是,当我通过后退按钮关闭B,返回A?

时,新任务不应该结束

有人可以向我解释一下这里有什么问题吗?

1 个答案:

答案 0 :(得分:3)

完整和最终的解决方案是将以下代码添加到服务打开的menifest文件中的活动。

android:taskAffinity="" 
android:excludeFromRecents="true" 
android:launchMode="singleInstance"