FLAG_ACTIVITY_NEW_TASK使用相同的活动启动多个任务

时间:2011-10-13 19:19:33

标签: android

我有一个通知,它使用FLAG_ACTIVITY_NEW_TASK启动活动B. documentation说:

  

[...]如果任务已经在您正在开始的活动中运行,那么将不会启动新活动;相反,当前任务将被简单地带到前面[...]

如果用户在主屏幕或其他应用程序中点按通知,这样可以正常工作。但是如果用户在我的应用程序的活动中,让我们说在活动“A”中,然后多次点击通知,活动“B”多次启动。这导致Back键无法返回活动“A”。

我在这里做错了什么?在主屏幕或不同的应用程序和我的应用程序的活动A之间的区别是什么?

此致

2 个答案:

答案 0 :(得分:2)

现在我发现我必须在清单中设置不同的亲和力才能在自己的任务中启动Activity。这也解决了我的问题。

答案 1 :(得分:0)

您可能希望FLAG_ACTIVITY_CLEAR_TOP|FLAG_ACTIVITY_SINGLE_TOP用于通知活动。这将确保活动B只有一个实例,并重新使用。

不同之处在于,当您的活动A在前台时,您已经有任务在运行,否则(很可能)没有。有关任务的详细信息,请阅读this