2011-10-13 39 views
1

我有一个通知,它启动了一个活动B和FLAG_ACTIVITY_NEW_TASK。该documentation说:FLAG_ACTIVITY_NEW_TASK以相同的活动启动多个任务

[...]如果任务已经为你现在开始的活动运行,则新的活动将不会启动;相反,目前的任务将被简单地带到前面[...]

在用户在主屏幕或不同的应用程序中点击通知的情况下,这工作正常。但是,如果用户在我的应用程序的活动中,让我们在活动“A”中说,然后多次点击通知,活动“B”多次启动。这导致返回键不会返回到活动“A”。

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

问候

回答

0

你可能想FLAG_ACTIVITY_CLEAR_TOP|FLAG_ACTIVITY_SINGLE_TOP的通知活动。这将确保活动B只有一个实例,并且它被重新使用。

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

+0

但是为什么我的活动B多次启动,尽管文档中提到“目前的任务只会被带到前台”? – Binabik

+0

FLAG_ACTIVITY_CLEAR_TOP解决了我的问题,但仍然不明白我在上面提到的内容。 – Binabik

+0

阅读有关任务,任务和活动的文档是不同的事情。 –

2

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

相关问题