在 Android 系統(tǒng)中,如果我們不想某個(gè) Activity 出現(xiàn)在 “Recent screens” 中,可以設(shè)置 <activity> 屬性 android:excludeFromRecents 為 true。其中有些需要注意到的地方說明下。
android:excludeFromRecents 屬性并不會僅僅影響被設(shè)置的 Activity。由此該 Activity 啟動的后續(xù)同屬一個(gè) “Task” 的一系列 Activity 都不會出現(xiàn)在 Recent screens。也就是說該屬性是對 Task 起作用的,而不僅僅是某個(gè) Activity。
所以想要后續(xù)的 Activity 能夠出現(xiàn)在 Recent screens 中,就必須讓后續(xù) Activity 在新的 Task 中。
但是如果設(shè)置上面屬性的 Activity 正是當(dāng)前正在使用的,切換到 Recent screens 也是可以看到的。但是退到后臺運(yùn)行后,比如按下 Home 鍵,屬性就會發(fā)生作用。
官方文檔如下:
是否應(yīng)將該 Activity 啟動的任務(wù)排除在最近使用的應(yīng)用列表(即概覽屏幕)之外。 也就是說,當(dāng)該 Activity 是新任務(wù)的根 Activity 時(shí),此屬性確定任務(wù)是否應(yīng)出現(xiàn)在最近使用的應(yīng)用列表中。 如果應(yīng)將任務(wù)排除在列表之外,請?jiān)O(shè)置“
true
”;如果應(yīng)將其包括在內(nèi),則設(shè)置“false
”。 默認(rèn)值為“false
”。
所以要想屬性生效設(shè)置該屬性的 Activity 必須是 Task 的根 Activity。如果在某個(gè) Task 非根 Activity 中設(shè)置 android:excludeFromRecents 是沒有任何效果的。