Funkcje w shortcuts.xml umożliwiają deklarowanie typów działań, które użytkownicy mogą wykonać, aby uruchomić aplikację i bezpośrednio wykonać określone zadanie. Funkcja składa się z nazwy działania i intent, która kieruje użytkownika do miejsca docelowego w aplikacji, gdzie może on zrealizować intencję użytkownika.
Określanie funkcji w pliku shortcuts.xml
Elementy capability definiujesz w pliku zasobów shortcuts.xml w projekcie tworzenia aplikacji na Androida. Aby zdefiniować element capability, wykonaj te czynności:
- Utwórz zasób
shortcuts.xml, postępując zgodnie z instrukcjami w artykule Tworzenie statycznych skrótów. W funkcji podaj te wymagane informacje:
Nazwa funkcji: działanie, które ma obsługiwać Twoja aplikacja. Informacje o funkcji, która wymaga definicji możliwości, znajdziesz w dokumentacji komponentu.
Miejsce docelowe w aplikacji: miejsce docelowe w aplikacji, w którym uruchamia się działanie, aby spełnić prośbę użytkownika. Zdefiniuj miejsca docelowe aplikacji za pomocą elementów
intentzagnieżdżonych w elemenciecapability.Mapowania parametrów: każdy element
intentmoże zawierać parametry, które mają być przekazywane jako daneextraintencji.
Poniższy przykład pokazuje definicję zdolności w shortcuts.xml dla actions.intent.START_EXERCISE, czyli BII, która umożliwia użytkownikom korzystanie z poleceń głosowych w Asystencie w celu rozpoczęcia treningu w aplikacji treningowej:
<shortcuts xmlns:android="http://schemas.android.com/apk/res/android">
<capability android:name="actions.intent.START_EXERCISE">
<intent
android:action="android.intent.action.VIEW"
android:targetPackage="com.example.sampleApp"
android:targetClass="com.example.sampleApp.ExerciseActivity">
<parameter
android:name="exercise.name"
android:key="exerciseType"/>
</intent>
</capability>
</shortcuts>
W poprzednim przykładzie atrybut <capability> android:name odnosi się do START_EXERCISE BII. Jeśli użytkownik wywoła ten BII, pytając Asystenta: „OK Google, rozpocznij bieg w aplikacji ExampleApp”, Asystent zrealizuje jego prośbę, korzystając z informacji podanych w zagnieżdżonym elemencie intent. Znak intent w tym przykładzie określa te szczegóły:
- Element
android:targetPackageokreśla docelowy pakiet aplikacji dla tego zamiaru. - Pole
android:targetClassokreśla aktywność docelową:com.example.sampleApp.ExerciseActivity. - Intencja
parameterdeklaruje obsługę parametru BIIexercise.namei sposób przekazywania wartości parametru zebranej od użytkownika jako dodatkowych danych wintent.
Przypisywanie skrótów do funkcji
Po zdefiniowaniu funkcji możesz rozszerzyć jej działanie, przypisując do niej statyczne lub dynamiczne skróty. Sposób łączenia skrótów z capability zależy od wdrażanej funkcji i rzeczywistych słów zawartych w żądaniu użytkownika. Na przykład, gdy użytkownik rozpoczyna bieg w aplikacji do śledzenia aktywności, prosząc Asystenta: „OK Google, rozpocznij bieg w aplikacji ExampleApp”. Asystent może użyć skrótu, aby uruchomić instancję capability, która definiuje prawidłowy obiekt ćwiczenia „bieg” dla parametru exercise.name.