在 Android 系統(tǒng)中顿痪,如果我們不想某個(gè) Activity 出現(xiàn)在 “Recent screens” 中亡问,可以設(shè)置 <activity> 屬性 android:excludeFromRecents 為 true闷沥。其中有些需要注意到的地方說(shuō)明下父虑。
android:excludeFromRecents 屬性并不會(huì)僅僅影響被設(shè)置的 Activity单山。由此該 Activity 啟動(dòng)的后續(xù)同屬一個(gè) “Task” 的一系列 Activity 都不會(huì)出現(xiàn)在 Recent screens眼溶。也就是說(shuō)該屬性是對(duì) Task 起作用的悠砚,而不僅僅是某個(gè) Activity。
所以想要后續(xù)的 Activity 能夠出現(xiàn)在 Recent screens 中堂飞,就必須讓后續(xù) Activity 在新的 Task 中灌旧。
但是如果設(shè)置上面屬性的 Activity 正是當(dāng)前正在使用的,切換到 Recent screens 也是可以看到的绰筛。但是退到后臺(tái)運(yùn)行后枢泰,比如按下 Home 鍵,屬性就會(huì)發(fā)生作用铝噩。
官方文檔如下:
是否應(yīng)將該 Activity 啟動(dòng)的任務(wù)排除在最近使用的應(yīng)用列表(即概覽屏幕)之外衡蚂。 也就是說(shuō),當(dāng)該 Activity 是新任務(wù)的根 Activity 時(shí)骏庸,此屬性確定任務(wù)是否應(yīng)出現(xiàn)在最近使用的應(yīng)用列表中毛甲。 如果應(yīng)將任務(wù)排除在列表之外,請(qǐng)?jiān)O(shè)置“
true
”具被;如果應(yīng)將其包括在內(nèi)玻募,則設(shè)置“false
”。 默認(rèn)值為“false
”一姿。
所以要想屬性生效設(shè)置該屬性的 Activity 必須是 Task 的根 Activity七咧。如果在某個(gè) Task 非根 Activity 中設(shè)置 android:excludeFromRecents 是沒(méi)有任何效果的跃惫。