[英]Why a “home” activity will be killed when the home button is pressed?
我已經創建了一個活動,設置它的過濾器作為家庭活動,並設置launchMode
與singleTask
。 當我按home時,活動將處於暫停狀態,然后處於onStop。 令我感到困惑的是,為什么從“家庭選擇”對話框上顯示的圖標返回時會重新啟動該活動? 它再次調用onCreate()
而不調用onDestroy()
。
我知道有一種解決此問題的方法,就是將launcherMode
設置為singleIstance
,但是這種方法還不夠好,因為它將導致另一個問題,即該活動將無法處理onActivityResult
。
您可能想告訴您想要實現的目標。 因為那是singleTask
方式。 它將現有意圖傳送到現有活動實例的onNewIntent()
。 因此,不會破壞活動,但會調用onCreate()
,因為它將使用現有意圖重新創建活動。
引用文檔
系統在新任務的根部創建活動並將其意圖路由到該活動。 但是,如果活動的一個實例已經存在,則系統通過調用其onNewIntent()方法將意圖路由到現有實例,而不是創建一個新實例。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.