2011-10-13 64 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。這也解決了我的問題。

相關問題