【Android】幾個應用重新進入相關的屬性
阿新 • • 發佈:2018-12-22
android:clearTaskOnLaunch=”true”
- 當重新launch這個task的時候(當通過桌面重新進入這個應用)
- 會清理帶這個屬性的activity
- 這個屬性必須在這個task的根Activity(不是棧底,是進入而是這個應用的第一個acitivty,比如一般應用啟動快取介面或廣告,之後finish了,不在task,他仍然是跟activity)
android:finishOnTaskLaunch=”true”
- 當重新launch這個task的時候(當通過桌面重新進入這個應用)
- 可以在任何activity裡面
- 會清除帶這個屬性的activity,如果回到的activity被清除回到最後一個未設定該屬性的acitivty
2018-8-1
這裡我發現一個問題:
啟動第一個Activity A,然後進入B,B在AndroidManifest宣告finishOnTaskLaunch=true,然後按住Home,回到桌面
(1)如果A在進入啟動B時,finish掉A,從桌面進入這個APP,回到B
(2)如果A在進入啟動B時,未finish掉A,從桌面進入這個APP,回到A
android:alwaysRetainTaskState
(未驗證)
- 這個屬性用來標記應用的task是否保持原來的狀態,“true”表示總是保持,“false”表示不能夠保證,預設為“false”。
- 此屬性只對task的根Activity起作用,其他的Activity都會被忽略。
- 預設情況下,如果一個應用在後臺呆的太久例如30分鐘,使用者從主選單再次選擇該應用時,系統就會對該應用的task進行清理,除了根Activity,其他Activity都會被清除出棧,但是如果在根Activity中設定了此屬性之後,使用者再次啟動應用時,仍然可以看到上一次操作的介面。 這個屬性對於一些應用非常有用,例如Browser應用程式,有很多狀態,比如開啟很多的tab,使用者不想丟失這些狀態,使用這個屬性就極為恰當。