原因:由于點擊桌面圖標(biāo)啟動應(yīng)用澡屡,是默認(rèn)執(zhí)行配置了 LAUNCHER 的 activity 界面。當(dāng)我們的應(yīng)用是出于冷啟動時咐旧,是沒有問題的驶鹉。但當(dāng)應(yīng)用處于后臺,再次點擊桌面圖標(biāo)啟動應(yīng)用時铣墨,是屬于熱啟動室埋。如果想在熱啟動后直接進(jìn)入上一次的界面,就會發(fā)現(xiàn)還是直接打開了默認(rèn)的啟動頁伊约。
啟動頁的配置,如:
<activity
android:name=".account.view.LoginActivity"
android:screenOrientation="portrait"
android:theme="@style/LoginTheme">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
解決:判斷啟動頁是否是根任務(wù)姚淆,如果不是碱妆,則不初始化啟動頁肉盹。在啟動頁的 oncreate 添加下面代碼疹尾。
override fun onCreate(savedInstanceState: Bundle?) {
if (!isTaskRoot && intent.action != null) {
finish()
return
}
super.onCreate(savedInstanceState)
}
親測有效骤肛,若還有其他更好處理方式,請多多指教窍蓝。