Sprawdzone metody korzystania ze skrótów
Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
Podczas projektowania i tworzenia skrótów do aplikacji postępuj zgodnie z tymi wskazówkami:
-
Zgodność z wytycznymi dotyczącymi projektowania
-
Aby skróty aplikacji były wizualnie spójne ze skrótami używanymi w aplikacjach systemowych, postępuj zgodnie z wytycznymi dotyczącymi tworzenia ikon skrótów do aplikacji.
-
Publikowanie tylko 4 różnych skrótów
-
Chociaż interfejs API obsługuje w Twojej aplikacji maksymalnie 15 statycznych i dynamicznych skrótów, zalecamy opublikowanie tylko 4 odrębnych skrótów, aby poprawić ich wygląd w Menu z aplikacjami.
Oprócz wyświetlania skrótów w programie uruchamiającym możesz korzystać z biblioteki integracji skrótów Google, aby wyświetlać skróty w usługach Google, takich jak Asystent Google. Ta biblioteka umożliwia stosowanie
nieograniczonej liczby skrótów dynamicznych. Jeśli używasz tej biblioteki do publikowania dużej liczby skrótów, zalecamy ustawienie wartości rank
skrótów, które muszą pojawiać się w obsługiwanych programach uruchamiających, przez wywołanie metody setRank()
.
-
Ograniczanie długości opisu skrótu
-
Obszar menu, w którym widoczne są skróty do aplikacji w Menu z aplikacjami, jest ograniczony. Jeśli to możliwe, ogranicz „krótki opis” skrótu do 10 znaków, a „długi opis” – do 25 znaków.
Więcej informacji na temat etykiet skrótów statycznych znajdziesz w artykule Dostosowywanie wartości atrybutów.
Dynamiczne i przypięte skróty znajdziesz w dokumentacji dotyczącej setLongLabel()
i setShortLabel()
.
-
Zarządzanie historią korzystania ze skrótów i działań
-
W przypadku każdego tworzonego skrótu weź pod uwagę różne sposoby, w jakie użytkownik może wykonywać to samo zadanie bezpośrednio w aplikacji. Wywołaj reportShortcutUsed()
w każdej z tych sytuacji, aby program uruchamiający miał dokładną historię częstotliwości wykonywania przez użytkownika działań związanych ze skrótami.
-
Aktualizuj skróty tylko wtedy, gdy ich znaczenie zostanie zachowane
-
Zmieniając skróty dynamiczne i przypięte, wywołuj metodę updateShortcuts()
tylko wtedy, gdy zmieniasz informacje o skrótie, które zachowują znaczenie. W przeciwnym razie użyj jednej z tych metod, w zależności od typu tworzonego skrótu:
Jeśli na przykład utworzysz skrót do nawigacji do supermarketu, możesz go zaktualizować, jeśli nazwa supermarketu się zmieni, ale jego lokalizacja pozostanie taka sama. Jeśli jednak użytkownik zaczyna zakupy w innej lokalizacji supermarketu, lepiej jest utworzyć nowy skrót.
-
Sprawdzanie skrótów dynamicznych po uruchomieniu aplikacji
-
Skróty dynamiczne nie są zachowywane, gdy użytkownik przywróci swoje dane na nowym urządzeniu. Dlatego zalecamy sprawdzanie liczby obiektów zwracanych przez getDynamicShortcuts()
przy każdym uruchomieniu aplikacji i w razie potrzeby ponowne publikowanie skrótów dynamicznych, jak pokazano we fragmencie kodu w sekcji Tworzenie i przywracanie kopii zapasowej.
Treść strony i umieszczone na niej fragmenty kodu podlegają licencjom opisanym w Licencji na treści. Java i OpenJDK są znakami towarowymi lub zastrzeżonymi znakami towarowymi należącymi do firmy Oracle lub jej podmiotów stowarzyszonych.
Ostatnia aktualizacja: 2025-07-27 UTC.
[[["Łatwo zrozumieć","easyToUnderstand","thumb-up"],["Rozwiązało to mój problem","solvedMyProblem","thumb-up"],["Inne","otherUp","thumb-up"]],[["Brak potrzebnych mi informacji","missingTheInformationINeed","thumb-down"],["Zbyt skomplikowane / zbyt wiele czynności do wykonania","tooComplicatedTooManySteps","thumb-down"],["Nieaktualne treści","outOfDate","thumb-down"],["Problem z tłumaczeniem","translationIssue","thumb-down"],["Problem z przykładami/kodem","samplesCodeIssue","thumb-down"],["Inne","otherDown","thumb-down"]],["Ostatnia aktualizacja: 2025-07-27 UTC."],[],[],null,["# Best practices for shortcuts\n\nWhen designing and creating your app's shortcuts, follow these guidelines:\n\n\n**Follow the design guidelines**\n\n: To make your app's shortcuts visually consistent with the shortcuts used for system apps, follow\n the\n [App Shortcuts Icon Design Guidelines](/static/shareables/design/app-shortcuts-design-guidelines.pdf).\n\n\n**Publish only four distinct shortcuts**\n\n: Although the API supports a combination of up to 15 static and dynamic shortcuts for your app, we\n recommend that you publish only four distinct shortcuts, to improve their visual appearance in the\n launcher.\n\n In addition to displaying shortcuts on the launcher, use the\n [Google Shortcuts Integration Library](/develop/ui/views/launch/shortcuts/creating-shortcuts#gsi-library)\n to display shortcuts on Google surfaces such as Google Assistant. This library supports pushing an\n unlimited number of dynamic shortcuts. If you are using this library to push a large number of\n shortcuts, we recommend setting the `rank` of the shortcuts that must appear in supported\n launchers by calling the\n [](/reference/androidx/core/content/pm/ShortcutInfoCompat.Builder#setRank(int))`setRank()`\n method.\n\n\n**Limit shortcut description length**\n\n: The space in the menu that shows your app's shortcuts in the launcher is limited. When possible,\n limit the length of the \"short description\" of a shortcut to 10 characters and limit the length of\n the \"long description\" to 25 characters.\n\n For more information about labels for static shortcuts, read\n [Customize attribute values](/guide/topics/ui/shortcuts/creating-shortcuts#attribute-values).\n For dynamic and pinned shortcuts, read the reference documentation on\n [setLongLabel()](/reference/androidx/core/content/pm/ShortcutInfoCompat.Builder#setLongLabel(java.lang.CharSequence))\n and\n [setShortLabel()](/reference/androidx/core/content/pm/ShortcutInfoCompat.Builder#setShortLabel(java.lang.CharSequence)).\n\n\n**Maintain shortcut and action usage history**\n\n: For each shortcut you create, consider the different ways a user can accomplish the same task\n directly within your app. Call\n [reportShortcutUsed()](/reference/androidx/core/content/pm/ShortcutManagerCompat#reportShortcutUsed(android.content.Context,%20java.lang.String))\n in each of these situations so that the launcher maintains an accurate history of how frequently a\n user performs the actions representing your shortcuts.\n\n\n**Update shortcuts only when their meaning is retained**\n\n: When changing dynamic and pinned shortcuts, only call\n [updateShortcuts()](/reference/androidx/core/content/pm/ShortcutManagerCompat#updateShortcuts(android.content.Context,%20java.util.List%3Candroidx.core.content.pm.ShortcutInfoCompat%3E))\n when changing the information of a shortcut that retains its meaning. Otherwise, use one of the\n following methods, depending on the type of shortcut you're recreating:\n\n - Dynamic shortcuts: [pushDynamicShortcut()](/reference/androidx/core/content/pm/ShortcutManagerCompat#pushDynamicShortcut(android.content.Context,%20androidx.core.content.pm.ShortcutInfoCompat)).\n - Pinned shortcuts: [requestPinShortcut()](/reference/androidx/core/content/pm/ShortcutManagerCompat#requestPinShortcut(android.content.Context,%20androidx.core.content.pm.ShortcutInfoCompat,%20android.content.IntentSender)).\n\n For example, if you create a shortcut for navigating to a supermarket, it is appropriate to\n update the shortcut if the name of the supermarket changes but its location stays the same. If the\n user begins shopping at a different supermarket location, however, it's better to create a new\n shortcut.\n\n\n**Check dynamic shortcuts whenever you launch your app**\n\n: Dynamic shortcuts aren't preserved when the user restores their data onto a new device. For this\n reason, we recommend that you check the number of objects returned by\n [getDynamicShortcuts()](/reference/androidx/core/content/pm/ShortcutManagerCompat#getDynamicShortcuts(android.content.Context))\n each time you launch your app and re-publish dynamic shortcuts as needed, as shown in the code\n snippet in\n [Backup and restore](/guide/topics/ui/shortcuts/managing-shortcuts#backup-restore)."]]