顯示在應用程式「最近使用」和「繼續使用」裡

針對每一項近期曾繼續使用的工作,啟動器會顯示標籤和圖示。如果應用程式套件裡,含有多個應用程式做為個別啟動器活動,則啟動器無法知道要為非啟動器活動 (例如資訊方塊或通知的活動) 顯示哪個標籤和圖示。這可能導致應用程式無法顯示在啟動器的「最近使用」清單中,或顯示不正確。

為所有活動加上標籤

請確認您的活動 (包括非啟動器活動) 已在資訊清單檔案中正確加上標籤,如下所示。

圖 1. 正確添加標籤的活動範例。

  1. 針對 AndroidManifest.xml 中的每個活動,判斷其所屬的啟動器活動。
  2. 複製父項啟動器活動中的圖示、圓形圖示和標籤,並貼到各個相關的非啟動器活動中。
  3. 如果活動由多個啟動器活動共用,請決定要顯示哪個圖示和標籤來代表所有啟動器活動。

指派 RecentTasks

如要在啟動器中的「最近使用」部分使用 RecentTasks,請確認 taskAffinity 元素在 AndroidManifest.xml 檔案中已正確定義,且您管理工作和返回堆疊的方式一致。

指派工作時,請注意下列事項:

  • 為應用程式中的每項工作選擇專屬的 taskAffinity 名稱。您可以將每個啟動器活動及其子項視為同一項工作。將 taskAffinity 指派給資訊清單檔案中的每個相關活動。
  • 避免使用 FLAG_ACTIVITY_NEW_TASKFLAG_ACTIVITY_CLEAR_TOP 呼叫 startActivity()
  • 請避免建立只用於啟動其他活動的「Trampoline 活動」。請使用 SplashScreen API 建立啟動畫面。
  • 如果您不希望活動顯示在「最近使用」部分中,請使用 android:excludeFromRecents="true"android:noHistory="true" 旗標。
  • 決定最適合您活動的啟動模式,然後據此開發。

偵錯提示

偵錯時,請注意下列事項:

  • 如果單一應用程式的「最近使用」部分有重複項目,請檢查您使用 NEW_TASK 旗標的方式是否不當。
  • 如果顯示出錯誤的圖示或標籤,請確認每個相關聯的非啟動器活動的圖示、圓形圖示和標籤,皆與其父項活動相同。
  • 如果在輕觸啟動器中的項目後,系統並未啟動任何項目,請查看「啟動器」篩選的 Logcat 是否有錯誤,因為這個問題可能是 Trampoline 活動所致。