幾個(gè)AndroidManifest配置參數(shù)

  • taskAffinity:指定task名字,默認(rèn)為應(yīng)用包名
  • alwaysRetainTaskState:作用于一個(gè)task的原始RootActivity,決定是否一直保留Task最終狀態(tài),默認(rèn)(false)用戶離開一個(gè)應(yīng)用task一段時(shí)間后(如 30分鐘),OS會自動重設(shè)(精簡)該task,銷毀所有Activity并重置棧底的RootActivity。該項(xiàng)僅維護(hù)Task的最終狀態(tài)(回到最后一個(gè)Activity),不保留中間的跳轉(zhuǎn)Activity路徑記錄
  • finishOnTaskLaunch:作用于一個(gè)task的非RootActivity,當(dāng)用戶通過點(diǎn)按應(yīng)用圖標(biāo)重新打開App時(shí),是否清除(finish)該Activity(使用Recent applications目錄跳轉(zhuǎn)回到App時(shí)無效)
  • clearTaskOnLaunch:作用于一個(gè)task的原始RootActivity,當(dāng)用戶從應(yīng)用圖標(biāo)重新打開App時(shí),是否清除task上的其他Activity元素,回歸到根Activity(使用Recent applications目錄跳轉(zhuǎn)回到App時(shí)無效)
  • launchMode="singleInstance":單Activity實(shí)例獨(dú)占專用Task模式加載,該Task依附于當(dāng)前應(yīng)用Process,但退出到桌面再通過Recent applications目錄回到App時(shí),將回到最后打開的task,通過Back回退finish該Activity無法自動返回到前一個(gè)task的Activity,并且該Activity不受主task控制,即finishOnTaskLaunch之類的設(shè)置無效,同時(shí)onActivityResult也失效(resultCode返回為RESULT_CANCELED)
  • noHistory:一旦從該Activity導(dǎo)航至其他界面(包括Home鍵跳出),判斷是否自動finish并從task移除該Activity實(shí)例
  • excludeFromRecents:作用于一個(gè)task的原始RootActivity,控制該task是否顯示在Recent列表中,如果該Activity獨(dú)占專用task,則打開該Activity時(shí)該App不顯示在Recent列表

※ RootActivity:通過該Activity開啟新的Task棧時(shí),該Activity才被認(rèn)為是原始RootActivity??赏ㄟ^Intent的Flag:FLAG_ACTIVITY_CLEAR_TASK 聲明下個(gè)Activity為當(dāng)前task的新Root,但無法得到作為原始RootActivity的身份。

因?yàn)獒槍τ趖ask的配置指定,僅在由RootActivity開啟新task的時(shí)候生效。

參考:
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容