A (singleTask/singleInstance) → 啟動 B → Home 回桌面 → 點擊 App 圖標 → 顯示 A 而非 B。側拉欄啟動 C 後同樣操作卻顯示 C。
onNewIntent() 並將其上方 Activity 全部出棧 (FLAG_ACTIVITY_CLEAR_TOP)。ACTION_MAIN, CATEGORY_LAUNCHER Intent,目標為清單文件中配置的入口 Activity (通常是 A)。onNewIntent()。可能原因:
FLAG_ACTIVITY_NEW_TASK)。android:alwaysRetainTaskState="true" 在根 Activity (A) 清單配置,保持任務棧狀態。onNewIntent 中根據保存狀態啟動目標 Activity 並 finish 自己。ActivityManager.am = (ActivityManager)getSystemService(ACTIVITY_SERVICE); am.moveTaskToFront(taskId, 0); (需權限)。android:launchMode="standard" + android:alwaysRetainTaskState="true" 於根 Activity,滿足大多數「後台恢復」需求。Intent.FLAG_ACTIVITY_NEW_TASK | FLAG_ACTIVITY_CLEAR_TOP | FLAG_ACTIVITY_SINGLE_TOP 組合控制棧行為。