啟動器 會顯示最近重新啟用時使用的標籤和圖示 Tasks。如果應用程式套件包含多個應用程式做為個別啟動器活動,此時啟動器無法知道非啟動器活動 (例如資訊方塊或通知的活動) 要顯示哪個標籤和圖示。這可能會 導致應用程式不會顯示在啟動器的「最近使用」清單中,或顯示 。
為所有活動加上標籤
請確認您的活動 (包括非啟動器活動) 已在資訊清單檔案中正確加上標籤,如下所示。
圖 1. 正確添加標籤的活動範例。
- 針對
AndroidManifest.xml
中的每個活動,判斷其所屬的啟動器活動。 - 複製父項啟動器活動中的圖示、圓形圖示和標籤,並貼到各個相關的非啟動器活動中。
如果活動由多個啟動器活動共用,請決定要顯示哪個圖示和標籤來代表所有啟動器活動。
指派 RecentTasks
如要在啟動器的「最近使用」部分使用 RecentTasks
,請確認已正確定義 AndroidManifest.xml
檔案中的 taskAffinity
元素,且工作和返回堆疊的管理方式也必須一致。
指派工作時,請注意下列事項:
- 為應用程式中的每項工作選擇專屬的
taskAffinity
名稱。您可以將每個啟動器活動及其子項視為同一項工作。將taskAffinity
指派給資訊清單檔案中的每個相關活動。 - 避免使用
FLAG_ACTIVITY_NEW_TASK
或FLAG_ACTIVITY_CLEAR_TOP
呼叫startActivity()
。 - 請避免建立只用於啟動其他活動的「Trampoline 活動」。請使用 SplashScreen API 建立啟動畫面。
- 如果您不希望活動顯示在「最近使用」部分中,請使用
android:excludeFromRecents="true"
和android:noHistory="true"
旗標。 - 根據活動決定最適合的啟動模式,開發過程中也須留意這點。
偵錯提示
偵錯時,請注意下列事項:
- 如果單一應用程式的「最近使用」部分有重複項目,請檢查
NEW_TASK
旗標的使用方式是否正確。 - 如果圖示或標籤顯示錯誤,請確認每個相關聯的非啟動器活動都使用父項活動的圖示、圓形圖示和標籤。
- 如果在輕觸啟動器中的項目後,系統並未啟動任何項目,請查看「啟動器」篩選的 Logcat 是否有錯誤,因為這個問題可能是 Trampoline 活動所致。
為您推薦
- 注意:系統會在 JavaScript 關閉時顯示連結文字
- 工作與返回堆疊
- 為應用程式建立自訂「快速設定」方塊
- 瞭解 Jetpack Navigation