0

ActivityA是启动器活动。我有一个广播接收器,它接收传入的消息并调用活动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显示的情况下打电话?

4

1 回答 1

0

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

android:taskAffinity=""

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

于 2012-07-27T19:39:11.927 回答