應用程式捷徑

在 Android 7.1.1 版本中,開發人員可以在應用程式中定義特定動作捷徑,並顯示在啟動器中。這些應用程式捷徑可讓使用者在應用程式中快速啟動常見或建議的工作。

每個捷徑都會參照意圖,當使用者選取捷徑時,意圖會在應用程式中啟動特定動作。可設為應用程式捷徑的動作示例包括:

  • 在地圖應用程式中,將使用者導覽至某特定地點
  • 在通訊應用程式中,向好友傳送訊息
  • 在媒體應用程式中播放電視節目的下一集
  • 在遊戲應用程式中載入最後儲存點

範例和來源

您可以在下列檔案中找到這項功能的主要實作方式:

frameworks/base/services/core/java/com/android/server/policy/ShortcutManager.java
frameworks/base/services/core/java/com/android/server/pm/ShortcutPackage.java
frameworks/base/services/core/java/com/android/server/pm/ShortcutUser.java
frameworks/base/services/core/java/com/android/server/pm/ShortcutPackageInfo.java
frameworks/base/services/core/java/com/android/server/pm/ShortcutLauncher.java
frameworks/base/services/core/java/com/android/server/pm/ShortcutParser.java
frameworks/base/services/core/java/com/android/server/pm/ShortcutService.java
frameworks/base/services/core/java/com/android/server/pm/LauncherAppsService.java
frameworks/base/services/core/java/com/android/server/pm/ShortcutPackageItem.java
frameworks/base/core/java/com/android/server/backup/ShortcutBackupHelper.java
frameworks/base/core/java/android/content/pm/ShortcutManager.java
frameworks/base/core/java/android/content/pm/ShortcutServiceInternal.java
frameworks/base/core/java/android/content/pm/ShortcutInfo.java
frameworks/base/core/java/android/content/pm/LauncherApps.java

以下檔案提供支援功能 (在 ShortcutManager.java 中稱為隱藏 API):

packages/apps/Settings/src/com/android/settings/DevelopmentSettings.java
frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/policy/RemoteInputView.java

舉例來說,Android 開放原始碼計畫啟動器 3 版支援捷徑:

packages/apps/Launcher3/

最後,請參閱下列檔案的公開 Javadoc。

frameworks/base/core/java/android/content/pm/ShortcutManager.java
frameworks/base/core/java/android/content/pm/ShortcutInfo.java
frameworks/base/core/java/android/content/pm/LauncherApps.java

實作

AOSP Launcher3 已支援捷徑。如果合作夥伴有自己的啟動器,則該啟動器也應支援捷徑。

  • 當使用者在應用程式圖示上執行特定手勢 (例如長按) 時,啟動器應顯示與每個啟動器活動圖示相關聯的動態和資訊清單捷徑。
    捷徑排序順序是在「捷徑顯示順序」部分的 ShorctutManager Javadoc 中定義。例如,先顯示資訊清單捷徑,再顯示動態捷徑。捷徑會依據排名,在各群組中以遞增順序排序。
  • 使用者應可拖曳每個動態/資訊清單捷徑,並將其「固定」到主畫面。
  • 請備份並還原已固定的捷徑。(詳情請參閱 ShortcutManager 的 Javadoc)
  • 在通知上執行「內嵌回覆」時,應在內部呼叫 ShortcutManager.onApplicationActive。

此外,部分 Google 行動服務 (GMS) 應用程式也有捷徑。OEM 啟動器應為他們顯示捷徑,並最好支援「釘選」(或建立捷徑圖示)。

如要進一步瞭解如何與上述作業的架構互動,請參閱 Launcher3 來源。

驗證

請使用下列 Android Compatibility Test Suite (CTS) 測試,確保您所用的功能版本 (ShortcutManager 和 LauncherApps) 能正常運作:

cts/tests/tests/shortcutmanager/
cts/hostsidetests/shortcuts/

您也可以在此處找到 AOSP 實作項目的單元測試:

frameworks/base/services/tests/servicestests/

包括:

src/com/android/server/pm/ShortcutManagerTest*.java

您也可以為捷徑管理員採用 CTS Verifier 測試:

cts/apps/CtsVerifier/src/com/android/cts/verifier/notifications/ShortcutThrottlingResetActivity.java