2014-02-19 34 views
13

我正在從服務中啓動一項活動,並希望它顯示在最近的應用程序列表中。如何在完成時從最近的應用程序列表中刪除活動?

但是,如果我退出應用程序(例如按下調用finish()的activity的UI上的按鈕),我希望將活動從最近的應用程序列表中刪除。

排除最近的應用程序列表中的活動與android:excludeFromRecents="true"不會給我我需要的初始活動行爲,即活動出現在最近的應用程序列表中。

這可能嗎?

回答

15

使用

android:excludeFromRecents="true" 

android:excludeFromRecents

無論是否通過本次活動發起的任務應該從最近使用的應用程序列表中(排除 在清單文件中的活動「最近的應用程序」)。也就是, 當此活動是新任務的根活動時,此屬性 將確定該任務是否應該不會出現在最近的 應用程序的列表中。如果任務應該從列表中排除,則設置「true」;如果應該包含 「假」。默認值是「false」。

+2

要求活動的初始狀態位於最近的應用程序列表中。 – PJL

+1

如果應用程序的初始狀態不在最近的應用程序中,那麼它不起作用。如何解決這個問題請幫忙 –

+0

@ajit不知道對不起!事實上,我可能會誤解這個問題並回答。 – Raghunandan

0

是的,一般來說,當您想在啓動時爲某個活動提供特殊屬性時,您會爲該意向提供特殊標誌。在這種情況下,FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS

更新時間:

如果你需要隱藏當前已經運行的活動,你也許可以結合使用此標誌與FLAG_ACTIVITY_CLEAR_TOP這將發送新的意向現有的活動。您必須考慮並試驗用戶在堆棧中移動時發生的情況,以及是否會讓您的應用再次出現在最近的應用中。

source

+1

要求活動的初始狀態位於最近的應用程序列表中。 – PJL

相關問題