Android 7.1.1 umożliwia programistom określanie skrótów w aplikacjach, które można wyświetlić w programie uruchamiającym. Te aplikacje pozwalają użytkownikom szybko uruchamiać typowe lub zalecane zadania .
Każdy skrót odwołuje się do intencji, która uruchamia określone działanie w aplikacji gdy użytkownik wybierze skrót. Przykłady działań, które możesz wyrazić jako aplikacja skróty:
- Nawigowanie użytkowników do określonej lokalizacji w aplikacji do tworzenia map
- Wysyłanie wiadomości do znajomego w aplikacji do komunikacji
- Odtwarzanie następnego odcinka programu telewizyjnego w aplikacji do multimediów
- Wczytanie ostatniego punktu zapisu w grze mobilnej
Przykłady i źródło
Podstawową implementację tej funkcji znajdziesz w tych plikach:
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
W poniższych plikach zapewniających funkcje pomocnicze (nazywane ukrytymi interfejsami API w językach:
ShortcutManager.java
):
packages/apps/Settings/src/com/android/settings/DevelopmentSettings.java frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/policy/RemoteInputView.java
Na przykład Menu z aplikacjami Android Open Source w wersji 3 obsługuje skróty:
packages/apps/Launcher3/
Przejrzyj poniższe pliki publicznych dokumentów 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
Implementacja
AOSP Launcher3 obsługuje już skróty. W przypadku, gdy partner ma który ma własny launcher, powinien on też obsługiwać skróty.
- Gdy użytkownik wykona określony gest (np. przytrzymasz) ikonę aplikacji,
Menu z aplikacjami powinno pokazywać skróty dynamiczne i skróty w pliku manifestu powiązane z każdym
ikonę aktywności programu uruchamiającego.
Kolejność sortowania skrótów jest określona w pliku Javadoc ShorctutManager w: Kolejność wyświetlania skrótów . Na przykład pokaż skróty w pliku manifestu a potem dynamiczne skróty. Skróty są sortowane według pozycji rosnąco. - Użytkownik powinien mieć możliwość przeciągnięcia każdego skrótu dynamicznego/manifestu i „przypięcia” jego na ekran główny.
- Należy utworzyć kopię zapasową przypiętych skrótów i je przywrócić. (Patrz: javadoc).
- Wysyłanie odpowiedzi w tekście on Notification powinien wywoływać wewnętrzny ShortcutManager.onApplicationActive.
Oprócz tego niektóre aplikacje Usług mobilnych Google (GMS) mają skróty. OEM program uruchamiający powinien pokazywać skróty do nich i najlepiej obsługiwać „przypinanie”. (lub utworzenie ikonę skrótu).
Szczegółowe informacje o korzystaniu z platformy znajdziesz w źródle Launcher3 powyższych operacji.
Weryfikacja
Skorzystaj z następujących testów z pakietem Android Compatibility Test Suite (CTS) i sprawdź, czy Twój zgodnie z oczekiwaniami.
cts/tests/tests/shortcutmanager/ cts/hostsidetests/shortcuts/
Tutaj znajdziesz testy jednostkowe implementacji AOSP:
frameworks/base/services/tests/servicestests/
Co obejmuje:
src/com/android/server/pm/ShortcutManagerTest*.java
Możesz też zastosować test CTS Verifier dla menedżera skrótów:
cts/apps/CtsVerifier/src/com/android/cts/verifier/notifications/ShortcutThrottlingResetActivity.java