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 相容性測試套件 (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