活动backstack中的问题

时间:2012-07-27 18:35:56

标签: android

活动A是启动器活动。我有一个广播接收器,它接收传入的消息并调用活动B(只是一个弹出窗口来显示消息)。

这是我用来调用B的代码:

intent.setClass(context, popup.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
context.startActivity(intent);

每当调用活动B时,A就会落后于它(前景),即使它在后台。在接收器中的任何地方都不会调用A

如果在B后面没有显示A,我该如何致电?{/ p>

1 个答案:

答案 0 :(得分:0)

活动B需要与ActivityA不同的taskAffinity。在清单中,将其添加到ActivityB的`标记:

android:taskAffinity=""

当你正在做你正在做的事情时,当Android想要启动ActivityB时,它会找到一个与ActivityB具有相同taskAffinity的现有任务,并且它将该任务带到前台(即使你指定了你想要一个NEW_TASK)。这是一个功能,而不是一个错误; - )