Ab dem 27. März 2025 empfehlen wir, android-latest-release
anstelle von aosp-main
zu verwenden, um AOSP zu erstellen und Beiträge dazu zu leisten. Weitere Informationen finden Sie unter Änderungen am AOSP.
Sprachinteraktion
Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Die Voice Interaction Service API bietet eine Abstraktion über verschiedene potenzielle Sprachsteuerungs-Apps. Implementierungen können gemäß den in App-Entwicklung beschriebenen Richtlinien entwickelt werden.
In diesem Integrationsleitfaden wird beschrieben, wie Sie diese Apps in ein bestimmtes Android Automotive OS-System-Image (AAOS) einbinden.
Terminologie
In diesem Leitfaden werden die folgenden Begriffe verwendet:
- Assist-Daten. Wenn eine Sitzung für die Sprachinteraktion gestartet wird, kann das System Ansichten und Screenshots erfassen und diese Informationen an die Sitzung weitergeben. Apps können zusätzliche Informationen bereitstellen, indem sie
Activity#onProvideAssistData()
und Activity#onProvideAssistContent()
implementieren.
- Push-to-Talk (PTT) Eine physische Taste für die Sprachsteuerung, die sich in der Regel am Lenkrad befindet.
- RecognitionService (RS) Spracherkennungsdienst, der von Apps über die
SpeechRecognizer
API verwendet wird. Zwischenstationen müssen sowohl die VoiceInteractionService
als auch die RecognitionService
enthalten.
- „Tippen zum Sprechen“ (TTT) Software-Sprachsteuerungsschaltfläche, in der Regel Teil der System-UI. Unter Android wird dies auch als Assist-Geste bezeichnet.
VoiceInteractionService
: Leichtgewichtiger Systemdienst, der vom VIA-Entwickler implementiert wird. Der ausgewählte Dienst wird beim Starten vom Systemdienst gebunden und ist immer aktiv.
- VoiceInteractionSession (VIS) Diese Klasse kapselt die Geschäftslogik für die Nutzerinteraktion ein. Sie ist dafür verantwortlich, dem Nutzer den Status der Sprachinteraktion anzuzeigen, VoiceInteractor-Anfragen zu verarbeiten und Assistent- und Screenshot-Daten zu empfangen.
- VoiceInteractionSessionService (VSS) Ein Dienst, der Teil einer VIA ist und für die Verarbeitung einer Sprachinteraktionssitzung verantwortlich ist. Dieser Dienst wird während einer Sprachinteraktion mit einem Nutzer vom Systemdienst von Android gebunden. Die gesamte Geschäftslogik dieser Sitzung ist in der Klasse
VoiceSession
implementiert.
Dieser Dienst bleibt nur während einer Sprachsitzung eines einzelnen Nutzers aktiv.
- Voice Interaction App (VIA) Android-App, die als Sprachsteuerung dient (Assistent). Diese Apps können anhand eines
VoiceInteractionService
in ihrem Manifest identifiziert werden.
Im System kann jeweils nur eine dieser Apps als Standard ausgewählt werden.
Nur die Standard-App wird aktiv gehalten (von einem Systemdienst gebunden) und ist der Empfänger von Push-to-Talk (PTT)- oder Tap-to-Talk (TTT)-Ereignissen.
Zuständigkeiten
In dieser Tabelle sind die Verantwortlichkeiten der einzelnen Parteien beschrieben.
Autohersteller (OEMs) |
AOSP |
App-Entwickler |
- Erstellen Sie ein kompatibles Infotainmentsystem mit AAOS.
- Implementieren Sie Audioeingabe und ‑ausgabe, optional mit Unterstützung der DSP-Hotword-Erkennung.
- Gewähren Sie den Diensten für die Sprachinteraktion Berechtigungen mit Systemprivilegien.
- Beachten Sie die
VoiceInteractionService -Anforderungen in Bezug auf den Zugriff auf die Einstellungsbildschirme der App.
|
- Definieren und weiterentwickeln Sie
VoiceInteractionService und zugehörige APIs.
- Stellen Sie VIA-Entwicklern API-Dokumentation, Beispielcode und andere Supportmaterialien zur Verfügung.
- Geben Sie UX-Hinweise mit Anforderungen und Empfehlungen.
|
- Implementieren Sie die
VoiceInteractionService API, die RecognitionService API und die NotificationListenerService API (siehe detaillierte Beschreibung unter App-Entwicklung).
- Bieten Sie eine anpassbare Benutzeroberfläche, die von OEMs an das Design des jeweiligen Autos angepasst werden kann.
|
UX-Anforderungen
OEMs sind dafür verantwortlich, dass Kunden eine gute Nutzererfahrung haben.
OEMs müssen dafür sorgen, dass alle vorinstallierten Dienste zur Sprachinteraktion die in Vorinstallierte Assistenten: UX-Leitfaden beschriebenen Anforderungen erfüllen.
Hauptfunktionen von Assistant
Eine Sprachinteraktions-Anwendung (Voice Interaction Application, VIA) für die Automobilbranche führt die folgenden Aktionen aus:
- [ERFORDERLICH] Auf vom System verarbeitete Sprachinteraktionstrigger (PTT, TTT) reagieren.
- [ERFORDERLICH] Eine visuelle Darstellung des Fortschritts (z. B. „Anhören“, „Verarbeiten“ und „Ausführen“) anzeigen.
- [ERFORDERLICH] Verwenden Sie Sprache oder Töne, um zu bestätigen, dass Sie die Nutzeranfrage verstanden und abgeschlossen haben.
- [ERFORDERLICH] Als Spracherkennung für andere Apps dienen (siehe SpeechRecognizer API).
- [SOLLTE] Auf einen Hotword-Trigger reagieren.
- [MAY] Eine Einstellungsaktivität anzeigen, in der Nutzer diese Sprachaktivierung konfigurieren können (z. B. Berechtigungen, Hotword-Konfiguration und Anmeldung).
- [MAY] Umgang mit Assistenzdaten (
Intent#ACTION_ASSIST
)
- [MÄRZ] Unterstützung der Sprachinteraktion über den Sperrbildschirm.
Komponenten
Im Allgemeinen interagiert eine Sprachinteraktions-App mit folgenden Akteuren:

Abbildung 1: Akteure für Sprachinteraktionen
Details:
VoiceInteractionManagerService
. Dieser Systemdienst ist für die Verwaltung der Standard-VIA und die Bereitstellung ihrer Funktionen für den Rest des Systems verantwortlich.
RecognitionService
. Dieser Dienst stellt Spracherkennungsfunktionen für andere Apps im System bereit.
SoundTrigger
. Implementiert die Hotword-Verwaltung und ist für VIAs über den AlwaysOnHotwordDetector verfügbar.
MediaRecorder
. Ermöglicht den Zugriff auf die Audioeingabe sowohl für die Hotword-Erkennung (bei Verwendung der CPU) als auch für die Spracherkennung.
PhoneWindowManager
/CarInputService
. Diese Dienste sind unter anderem für die Verarbeitung wichtiger Ereignisse verantwortlich und leiten die PTT über die VoiceInteractionManagerService
an die VIA weiter.
User
. Der Nutzer interagiert mit einer Sprachschnittstelle über Trigger (PTT, TTT, Hotword) oder die Voice Plate-Benutzeroberfläche.
- CarService, Benachrichtigungen, Medien, Telefonie, ContactsProvider usw.
Dienste und Apps, die von der VoiceInteractionSession verwendet werden, um die Befehle des Nutzers auszuführen.
Automobilspezifische Konzepte
AAOS unterscheidet sich in folgenden Aspekten von Android:
- Neben den normalen Assistant-Funktionen können AAOS-VIAs auch Fahrzeugfunktionen steuern, z. B. die Klimaanlage, die Sitze und die Innenbeleuchtung. Diese Funktionen können mit der CarPropertyManager API eingebunden werden (weitere Informationen finden Sie unter Fahrzeugeigenschaft lesen), sofern OEMs den Zugriff wie in der Zulassungsliste für Berechtigungen mit erhöhten Befugnissen beschrieben konfigurieren.
- Anpassung und Einheitlichkeit sind im Automobilbereich wichtiger als bei jedem anderen Formfaktor. Weitere Informationen zur Implementierung dieser Richtlinien finden Sie unter Anpassung.
Alle Inhalte und Codebeispiele auf dieser Seite unterliegen den Lizenzen wie im Abschnitt Inhaltslizenz beschrieben. Java und OpenJDK sind Marken oder eingetragene Marken von Oracle und/oder seinen Tochtergesellschaften.
Zuletzt aktualisiert: 2025-07-27 (UTC).
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Benötigte Informationen nicht gefunden","missingTheInformationINeed","thumb-down"],["Zu umständlich/zu viele Schritte","tooComplicatedTooManySteps","thumb-down"],["Nicht mehr aktuell","outOfDate","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Problem mit Beispielen/Code","samplesCodeIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2025-07-27 (UTC)."],[],[],null,["# About voice interaction\n\nThe Voice Interaction Service API provides an abstraction over different\npotential voice control apps. Implementations can be developed following the guidelines\ndescribed in\n[App development](/docs/automotive/voice/voice_interaction_guide/app_development).\nThe content in this integration guide describes how to integrate these apps into\na specific Android Automotive OS (AAOS) system image.\n\nTerminology\n-----------\n\nThese terms are used through this guide:\n\n- **Assist data.** When a voice interaction session is started, the system is able to capture views and screenshots, and pass this information to the session. Apps can expose additional information by implementing [Activity#onProvideAssistData()](https://developer.android.com/reference/android/app/Activity#onProvideAssistData(android.os.Bundle)) and [Activity#onProvideAssistContent()](https://developer.android.com/reference/android/app/Activity#onProvideAssistContent(android.app.assist.AssistContent)).\n- **[Push-to-talk (PTT)](https://developer.android.com/reference/android/service/voice/VoiceInteractionSession#SHOW_SOURCE_PUSH_TO_TALK)**. Physical voice control button, usually located in the steering wheel.\n- **RecognitionService (RS).** Voice recognition service used by apps through the [SpeechRecognizer](https://developer.android.com/reference/android/speech/SpeechRecognizer)`\n ` API. VIAs must include both the `VoiceInteractionService` *and* the `RecognitionService`.\n- **[Tap-to-talk (TTT)](https://developer.android.com/reference/android/service/voice/VoiceInteractionSession#SHOW_SOURCE_ASSIST_GESTURE)** . Software voice control button, usually included as part of the system UI). In Android this is also referred to as *Assist Gesture*.\n- **[VoiceInteractionService](https://developer.android.com/reference/android/service/voice/VoiceInteractionService)**. Lightweight system service implemented by the VIA developer. The selected service is bound from system service on boot, and is always running.\n- **VoiceInteractionSession (VIS).** This class encapsulates the user interaction business logic. It is responsible for presenting the user with status of the voice interaction, handling VoiceInteractor requests and receiving assist and screenshot data.\n- **VoiceInteractionSessionService (VSS).** A service, part of a VIA, responsible for handling a voice interaction session. This service is bound from Android's system service during a voice interaction with a user. All business logic of this session is implemented in the `VoiceSession` class. This service is only guaranteed to stay alive during a single user voice session.\n- **Voice Interaction App (VIA).** Android app designed to serve as a voice control (referred to as *assistant* ). These apps can be identified by including a `VoiceInteractionService` in their manifest. Only one of these apps can be selected as *default* at a time in the system. Only the default app will be maintained alive (bound from a system service), and will be the receiver of [Push-To-Talk (PTT)](https://developer.android.com/reference/android/service/voice/VoiceInteractionSession#SHOW_SOURCE_PUSH_TO_TALK) or [Tap-To-Talk (TTT)](https://developer.android.com/reference/android/service/voice/VoiceInteractionSession#SHOW_SOURCE_ASSIST_GESTURE) events.\n\nResponsibilities\n----------------\n\nThis table describes the responsibilities of each party.\n\n| Car Manufacturers (OEMs) | AOSP | App Developers |\n|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| - Build a [compatible](/compatibility/android-cdd) infotainment system with AAOS. - Implement audio input and output, optionally including DSP hotword detection support. - Grant system-privileged permissions for the voice interaction services. - Respect `VoiceInteractionService` requirements regarding access to app's settings screens. | - Define and evolve `VoiceInteractionService` and related APIs. - Provide API documentation, sample code and other support material to VIA developers. - Provide UX guidance with requirements and recommendations. | - Implement `VoiceInteractionService` API, RecognitionService API and NotificationListenerService API (see detailed description at [App development](/docs/automotive/voice/voice_interaction_guide/app_development)). - Provide a customizable UI that can be adjusted by OEMs to match each car design system. |\n\nUX requirements\n---------------\n\nOEMs have the ultimate responsibility of providing a good user experience to customers.\nOEMs must ensure that the all pre-installed voice interaction services fulfill the\nrequirements described in\n[Preloaded Assistants: UX Guidance](/static/docs/automotive/voice/voice_interaction_guide/preloaded-assistants_UX-guidelines.pdf).\n\nCore assistant experience\n-------------------------\n\nAn automotive Voice Interaction Application (VIA) performs the following actions:\n\n- \\[MUST\\] Respond to system-handled voice interaction triggers (PTT, TTT).\n- \\[MUST\\] Display a visual representation of their progress (for example, listening, processing, and fulfilling).\n- \\[MUST\\] Use voice or sounds to indicate understanding and completion of user requests.\n- \\[MUST\\] Serve as a speech recognizer for other apps (see the [SpeechRecognizer\n API](https://developer.android.com/reference/android/speech/SpeechRecognizer)).\n- \\[SHOULD\\] Respond to a hotword trigger.\n- \\[MAY\\] Display a settings activity where users can configure this VIA (for example, permissions, hotword configuration, and sign-in).\n- \\[MAY\\] Handle assist data ([Intent#ACTION_ASSIST](https://developer.android.com/reference/android/content/Intent#ACTION_ASSIST))\n- \\[MAY\\] Support voice interaction from Keyguard (lock screen).\n\nComponents\n----------\n\nAt a high level, a voice interaction app interacts with these actors:\n\n**Figure 1.** Voice interaction actors\n\nDetails:\n\n- `VoiceInteractionManagerService`. This system service is responsible for managing the default VIA, and exposing its functionality to the rest of the system.\n- `RecognitionService`. This service exposes speech recognition capabilities to other apps in the system.\n- `SoundTrigger`. Implements hotword management and it's available to VIAs through the AlwaysOnHotwordDetector.\n- `MediaRecorder`. Provides access to audio input for both hotword detection (when using CPU) and speech recognition.\n- `PhoneWindowManager`/`CarInputService`. These services are responsible (among other things) for handling key events, routing PTT to the VIA, by means of the `VoiceInteractionManagerService`.\n- `User`. The user interacts with a VIA by means of Triggers (PTT, TTT, Hotword) or the Voice Plate UI.\n- **CarService, Notifications, Media, Telephony, ContactsProvider, and so on.** Services and apps used by the VoiceInteractionSession to fulfill the user's commands.\n\nAutomotive-specific concepts\n----------------------------\n\nAAOS diverges from Android in the following aspects:\n\n- Besides normal Assistant functionalities, AAOS VIAs can control vehicle functions (for example, HVAC, seats, and interior lights). These functionalities can be integrated using the CarPropertyManager API (see more at [Read a\n vehicle property](/docs/automotive/voice/voice_interaction_guide/fulfilling_commands#vehicle-property)) provided OEMs configure access correctly as described in [Privileged permission allowlisting](/docs/core/permissions/perms-allowlist).\n- Customization and consistency are more relevant in Automotive than in any other form factor. See [Customization](/docs/automotive/voice/voice_interaction_guide/integration_flows#customization) to read more about implementing these guidelines."]]