A partire dal 27 marzo 2025, ti consigliamo di utilizzare android-latest-release
anziché aosp-main
per compilare e contribuire ad AOSP. Per ulteriori informazioni, vedi Modifiche ad AOSP.
Informazioni sull'interazione vocale
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
L'API Voice Interaction Service fornisce un'astrazione su diverse potenziali app di controllo vocale. Le implementazioni possono essere sviluppate seguendo le linee guida descritte in Sviluppo di app.
I contenuti di questa guida all'integrazione descrivono come integrare queste app in un'immagine di sistema Android Automotive OS (AAOS) specifica.
Terminologia
I seguenti termini vengono utilizzati in questa guida:
- Dati di assistenza. Quando viene avviata una sessione di interazione vocale, il sistema è in grado di acquisire visualizzazioni e screenshot e di trasmettere queste informazioni alla sessione. Le app possono mostrare informazioni aggiuntive implementando
Activity#onProvideAssistData()
e Activity#onProvideAssistContent()
.
- Push-to-talk (PTT). Pulsante di controllo vocale fisico, solitamente situato sul volante.
- RecognitionService (RS). Servizio di riconoscimento vocale utilizzato dalle app tramite l'API
SpeechRecognizer
. I VIA devono includere sia VoiceInteractionService
che
RecognitionService
.
- Tocca per parlare (TTT). Pulsante di controllo vocale software, solitamente incluso nell'interfaccia utente di sistema. In Android è noto anche come
Gesto di assistenza.
VoiceInteractionService
. Servizio di sistema leggero implementato dallo sviluppatore VIA. Il servizio selezionato è associato al servizio di sistema all'avvio ed è sempre in esecuzione.
- VoiceInteractionSession (VIS). Questa classe incapsula la logica di business dell'interazione utente. È responsabile della presentazione all'utente dello stato dell'interazione vocale, della gestione delle richieste di VoiceInteractor e della ricezione dei dati di assistenza e screenshot.
- VoiceInteractionSessionService (VSS). Un servizio, parte di un
VIA, responsabile della gestione di una sessione di interazione vocale. Questo servizio è associato al servizio di sistema di Android durante un'interazione vocale con un utente. Tutta la logica di business di questa sessione è implementata nella classe
VoiceSession
.
La disponibilità di questo servizio è garantita solo durante una sessione vocale di un singolo utente.
- App di interazione vocale (VIA). App per Android progettata
per fungere da controllo vocale (indicata come assistente). Queste app possono essere identificate includendo un
VoiceInteractionService
nel file manifest.
Nel sistema è possibile selezionare come predefinita una sola di queste app alla volta.
Solo l'app predefinita verrà mantenuta attiva (associata a un servizio di sistema) e sarà il destinatario degli eventi Push-to-Talk (PTT) o Tap-to-Talk (TTT).
Responsabilità
Questa tabella descrive le responsabilità di ciascuna parte.
Costruttori di auto (OEM) |
AOSP |
Sviluppatori di app |
- Crea un sistema di infotainment compatibile con AAOS.
- Implementa l'input e l'output audio, eventualmente incluso il supporto del rilevamento della hotword DSP.
- Concedi autorizzazioni con privilegi di sistema per i servizi di interazione vocale.
- Rispetta i requisiti di
VoiceInteractionService relativi all'accesso alle schermate delle impostazioni dell'app.
|
- Definisci ed evolvi
VoiceInteractionService e le API correlate.
- Fornire documentazione dell'API, codice di esempio e altro materiale di supporto agli sviluppatori VIA.
- Fornire indicazioni sull'esperienza utente con requisiti e consigli.
|
- Implementa l'API
VoiceInteractionService , l'API RecognitionService e l'API NotificationListenerService (vedi la descrizione dettagliata in Sviluppo di app).
- Fornire un'interfaccia utente personalizzabile che può essere regolata dagli OEM in base a ogni sistema di design dell'auto.
|
Requisiti UX
Gli OEM hanno la responsabilità ultima di fornire ai clienti un'esperienza utente positiva.
Gli OEM devono assicurarsi che tutti i servizi di interazione vocale preinstallati soddisfino i requisiti descritti in Assistenti preinstallati: linee guida per l'esperienza utente.
Esperienza di base con l'assistente
Un'applicazione di interazione vocale (VIA) per auto e motori esegue le seguenti azioni:
- [OBBLIGATORI] Rispondere agli attivatori di interazione vocale gestiti dal sistema (PTT, TTT).
- [OBBLIGATORI] Mostrare una rappresentazione visiva dei progressi (ad esempio ascolto, lavorazione e adempimento).
- [OBBLIGATORIO] Utilizza la voce o dei suoni per indicare la comprensione e il completamento delle richieste degli utenti.
- [OBBLIGATORIO] Deve fungere da riconoscitore vocale per altre app (consulta l'API SpeechRecognizer).
- [DEVE] Rispondere a un trigger hotword.
- [MAY] Mostrare un'attività di impostazioni in cui gli utenti possono configurare questa VIA (ad esempio, autorizzazioni, configurazione della hotword e accesso).
- [MAY] Gestire i dati di assistenza (
Intent#ACTION_ASSIST
)
- [MAGGIO] Supporto dell'interazione vocale dalla schermata di blocco (schermo di blocco).
Componenti
In linea generale, un'app di interazione vocale interagisce con questi attori:

Figura 1. Attori di interazione vocale
Dettagli:
VoiceInteractionManagerService
. Questo servizio di sistema è responsabile della gestione del VIA predefinito e dell'esposizione della relativa funzionalità al resto del sistema.
RecognitionService
. Questo servizio mette a disposizione le funzionalità di riconoscimento vocale per altre app del sistema.
SoundTrigger
. Implementa la gestione della hotword ed è disponibile per le interfacce vocali tramite AlwaysOnHotwordDetector.
MediaRecorder
. Fornisce l'accesso all'input audio sia per il rilevamento della hotword (quando si utilizza la CPU) sia per il riconoscimento vocale.
PhoneWindowManager
/CarInputService
. Questi servizi sono responsabili (tra le altre cose) della gestione di eventi chiave, dell'instradamento del PTT alla VIA tramite VoiceInteractionManagerService
.
User
. L'utente interagisce con una VIA tramite gli attivatori (PTT, TTT, Hotword) o l'interfaccia utente della piastra vocale.
- CarService, Notifiche, Media, Telefonia, ContactsProvider e così via.
Servizi e app utilizzati da VoiceInteractionSession per eseguire i comandi dell'utente.
Concetti specifici per i veicoli
AAOS si discosta da Android nei seguenti aspetti:
- Oltre alle normali funzionalità dell'assistente, le interfacce vocali di AAOS possono controllare le funzioni del veicolo (ad esempio, climatizzazione, sedili e luci interne). Queste funzionalità possono essere integrate utilizzando l'API CarPropertyManager (scopri di più nella sezione Leggere una proprietà del veicolo) a condizione che gli OEM configurino l'accesso correttamente come descritto nella sezione Lista consentita di autorizzazioni privilegiate.
- La personalizzazione e la coerenza sono più importanti nel settore auto e motori rispetto a qualsiasi altro fattore di forma. Per scoprire di più sull'implementazione di queste linee guida, consulta la sezione Personalizzazione.
I campioni di contenuti e codice in questa pagina sono soggetti alle licenze descritte nella Licenza per i contenuti. Java e OpenJDK sono marchi o marchi registrati di Oracle e/o delle sue società consociate.
Ultimo aggiornamento 2025-07-27 UTC.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Mancano le informazioni di cui ho bisogno","missingTheInformationINeed","thumb-down"],["Troppo complicato/troppi passaggi","tooComplicatedTooManySteps","thumb-down"],["Obsoleti","outOfDate","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Problema relativo a esempi/codice","samplesCodeIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 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."]]