Działania głosowe w systemie nie są już zalecaną ścieżką do integracji z Asystentem. Więcej informacji o alternatywach kompilacji znajdziesz w dokumentacji działań w aplikacji.

Pierwsze kroki z systemowymi komendami głosowymi

Funkcja komend głosowych Google rozpoznaje wiele mów i wpisywanych działań, a także tworzy dla nich intencje w Androidzie. Aplikacje takie jak Muzyka Play i Keep mogą odbierać te intencje i wykonywać wymagane działanie. Aplikacja może też zadeklarować wsparcie dla niektórych z tych działań:

  1. Definiowanie filtra intencji
  2. Obsługa intencji w aplikacji
  3. Aktualizowanie stanu ukończenia aplikacji

Szczegółową listę obsługiwanych działań systemowych znajdziesz w tym artykule.

Krok 1. Zdefiniuj filtr intencji

Aby wskazać, że aplikacja obsługuje co najmniej 1 działanie systemowe, uwzględnij filtr intencji w przypadku każdego działania w pliku manifestu aplikacji.

Jeśli na przykład aplikacja może ustawić alarm, dodaj do pliku manifestu ten filtr intencji:

<activity ...>
    <intent-filter>
        <action android:name="android.intent.action.SET_ALARM"/>
        <category android:name="android.intent.category.DEFAULT"/>
    </intent-filter>
</activity>

Jeśli użytkownik ma kilka aplikacji, które mogą obsłużyć intencję Ustaw alarm, funkcja komend głosowych Google może wybrać aplikację, która ma wykonać działanie:

Obraz przedstawiający komendy głosowe Google wywołujące aplikację

Ilustracja 1. Komendy głosowe pozwalają użytkownikom wybierać spośród aplikacji obsługujących działania systemowe

Krok 2. Zarządzaj intencją w swojej aplikacji

Po otrzymaniu intencji aplikacja powinna wykonać działanie. W tym przykładzie powinno ustawić alarm. Zobacz przykładowy kod poniżej.

Krok 3. Zaktualizuj stan ukończenia aplikacji

Interfejs App Indexing API umożliwia wysyłanie do Google ukończonych działań w aplikacji. Google może później ponownie wyświetlać Twoje treści użytkownikom, korzystając z autouzupełniania zapytań w aplikacji Google.

Gdy aplikacja wykona działanie, wywołaj metodę AppIndexApi.end() z odpowiednim typem działania, na przykład Action.TYPE_ADD.

Ustaw też odpowiedni typ stanu działania, aby zgłosić, czy działanie zostało zakończone. Aby ustawić stan konkretnego działania, możesz użyć metody setActionStatus.

Oto pełny przykład pokazujący, jak obsługiwać zamiary połączeń przychodzących i wykorzystać interfejs App Indexing API do zgłoszenia, że użytkownik ustawił alarm:

public class MainActivity extends Activity {

    private static final Uri ALARM_URI = Uri.parse("android-app://com.myclockapp/set_alarm_page");

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        ...

        // Get the intent
        Intent intent = getIntent();
        if (AlarmClock.ACTION_SET_ALARM.equals(intent.getAction())) {
            if (intent.hasExtra(AlarmClock.EXTRA_HOUR)) {
                // Step 2: get the rest of the intent extras and set an alarm
                ...
            }

            // Step 3: report the action through the App Indexing API
            Thing alarm = new Thing.Builder()
                    .setName("Alarm for 4:00 PM")
                    .setDescription("Alarm set for 4:00 PM, with the 'Argon' ringtone"
                                    + " and vibrate turned on.")
                    .setUrl(APP_URI)
                    .build();

            Action setAlarmAction = new Action.Builder(Action.TYPE_ADD)
                    .setObject(alarm)
                    .setActionStatus(Action.STATUS_TYPE_COMPLETED)
                    .build();

            AppIndex.AppIndexApi.end(mClient, setAlarmAction);
        }
    }

    ...

}

Informacje o działaniach systemowych

Działania Google Voice uruchamiają intencję, gdy rozpozna ona działanie wymienione w tabelach poniżej.

Działania związane z alarmem

Działanie Przykładowe polecenie
Ustaw alarm Ustaw alarm na 6:00
Ustaw minutnik Ustaw minutnik na 5 minut

Komunikacja

Działanie Przykładowe polecenie
Rozpocznij rozmowę telefoniczną Zadzwoń pod numer 555 5555
Zadzwoń do Starbucksa
Zadzwoń do mamy
Zadzwoń do poczty głosowej

Działania dotyczące połączeń uruchamiają się tylko na urządzeniach z wbudowanym telefonem (np. na telefonie) i na urządzeniach z aplikacjami, które obsługują wybieranie numerów (np. tablet z aplikacją VoIP).

Ćwiczenia fitness

Działanie Przykładowe polecenie
Rozpoczynanie/zatrzymywanie jazdy na rowerze Rozpocznij jazdę na rowerze
Rozpoczynanie/zatrzymywanie biegu Rozpocznij bieg
Rozpoczynanie/zatrzymywanie treningu Rozpocznij trening
Pokaż tętno pokaż tętno
Pokaż liczbę kroków pokaż liczbę kroków

Działania lokalne

Działanie Przykładowe polecenie
Zamów taksówkę zarezerwuj taksówkę

Działanie Zarezerwuj taksówkę jest uruchamiane tylko na Androidzie Wear.

Działania związane z multimediami

Działanie Przykładowe polecenie
Odtwarzanie muzyki z wyszukiwarki włącz michael jackson bilard jean
odtwórz muzykę
odtwórz muzykę klasyczną
odtwórz ścianę
odtwórz różową flodę w vnstreamer
Robienie zdjęć zrób zdjęcie
Nagrywanie filmu nagrać film

Otwórz działania

Działanie Przykładowe polecenie
Otwórz adres URL otwórz twitter.com
Otwórz aplikację open twitter (działa domyślnie; brak konkretnej intencji).

Działania w zakresie produktywności

Działanie Przykładowe polecenie
Utwórz notatkę zrób zakupy spożywcze

Czynności związane z wyszukiwaniem

Działanie Przykładowe polecenie
Wyszukiwanie w konkretnej aplikacji szukaj w YouTube filmów z kotami