A partir de 27 de março de 2025, recomendamos usar android-latest-release
em vez de aosp-main
para criar e contribuir com o AOSP. Para mais informações, consulte Mudanças no AOSP.
Sobre a interação por voz
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
A API Voice Interaction Service oferece uma abstração sobre diferentes
apps de controle por voz. As implementações podem ser desenvolvidas seguindo as diretrizes
descritas em
Desenvolvimento de apps.
O conteúdo deste guia de integração descreve como integrar esses apps a
uma imagem de sistema específica do Android Automotive OS (AAOS).
Terminologia
Estes termos são usados neste guia:
- Dados de assistência. Quando uma sessão de interação por voz é iniciada,
o sistema pode capturar visualizações e capturas de tela e transmitir essas informações
para a sessão. Os apps podem expor informações adicionais implementando
Activity#onProvideAssistData()
e Activity#onProvideAssistContent()
.
- Push-to-talk (PTT). Botão físico de controle de voz, geralmente
localizado no volante.
- RecognitionService (RS). Serviço de reconhecimento de voz usado por
apps pela API
SpeechRecognizer
. As VIAs precisam incluir VoiceInteractionService
e
RecognitionService
.
- Toque para falar (TTT). Botão de controle de voz do software, geralmente
incluído como parte da interface do sistema). No Android, isso também é chamado de
gesto de assistência.
VoiceInteractionService
. Serviço de sistema leve implementado pelo desenvolvedor da VIA. O serviço selecionado é vinculado
ao serviço do sistema na inicialização e está sempre em execução.
- VoiceInteractionSession (VIS). Essa classe encapsula a
lógica de negócios de interação do usuário. Ela é responsável por apresentar ao usuário o
status da interação por voz, processando solicitações do VoiceInteractor e recebendo
dados de assistência e captura de tela.
- VoiceInteractionSessionService (VSS). Um serviço, parte de um
VIA, responsável por processar uma sessão de interação por voz. Esse serviço é vinculado
ao serviço do sistema Android durante uma interação por voz com um usuário. Toda
a lógica de negócios desta sessão é implementada na classe
VoiceSession
.
Esse serviço só é garantido durante uma sessão de voz de um único usuário.
- App de interação por voz (VIA). App Android projetado
para servir como controle de voz (chamado de assistente). Esses apps podem
ser identificados incluindo um
VoiceInteractionService
no manifesto.
Apenas um desses apps pode ser selecionado como padrão por vez no sistema.
Somente o app padrão será mantido ativo (vinculado a um serviço do sistema) e
será o receptor de eventos Push-to-Talk (PTT)
ou Tap-to-Talk (TTT).
Responsabilidades
Esta tabela descreve as responsabilidades de cada parte.
Fabricantes de automóveis (OEMs) |
AOSP |
Desenvolvedores de apps |
- Crie um sistema de infoentretenimento compatível
com o AAOS.
- Implemente a entrada e a saída de áudio, incluindo opcionalmente o suporte à detecção de palavras-chave
do DSP.
- Conceder permissões privilegiadas do sistema para os serviços de interação por voz.
- Respeite os requisitos de
VoiceInteractionService em relação ao acesso às
telas de configurações do app.
|
- Definir e atualizar
VoiceInteractionService e APIs relacionadas.
- Fornecer documentação da API, exemplos de código e outros materiais de suporte para
desenvolvedores da VIA.
- Forneça orientação de UX com requisitos e recomendações.
|
- Implemente a API
VoiceInteractionService , a API RecognitionService e a
API NotificationListenerService (consulte a descrição detalhada em
Desenvolvimento de apps).
- Forneça uma interface personalizável que possa ser ajustada pelos OEMs para corresponder a cada
sistema de design de carro.
|
Requisitos de UX
Os OEMs têm a responsabilidade final de oferecer uma boa experiência do usuário aos clientes.
Os OEMs precisam garantir que todos os serviços de interação por voz pré-instalados atendam aos
requisitos descritos em
Assistentes pré-carregados: orientação de UX.
Experiência principal do Google Assistente
Um aplicativo de interação por voz (VIA) automotivo realiza as seguintes ações:
- [OBRIGATÓRIO] Responder a gatilhos de interação por voz processados pelo sistema (PTT, TTT).
- [OBRIGATÓRIO] Mostrar uma representação visual do progresso (por exemplo, escuta,
processamento e atendimento).
- [OBRIGATÓRIO] Usar voz ou sons para indicar que entendeu e concluiu as solicitações
do usuário.
- [OBRIGATÓRIO] Servir como um reconhecedor de voz para outros apps (consulte a API
SpeechRecognizer).
- [SHOULD] Responder a um gatilho de hotword.
- [MAY] Mostrar uma atividade de configurações em que os usuários podem configurar esse VIA, por exemplo, permissões, configuração de palavras de ativação e logon.
- [MAY] Processar dados de assistência (
Intent#ACTION_ASSIST
)
- [MAY] Suporte a interação por voz na tela de bloqueio (Keyguard).
Componentes
De modo geral, um app de interação por voz interage com estes atores:

Figura 1. Atores de interação por voz
Detalhes:
VoiceInteractionManagerService
. Esse serviço do sistema é responsável por
gerenciar a VIA padrão e expor a funcionalidade dela para o restante do sistema.
RecognitionService
. Esse serviço expõe recursos de reconhecimento de
fala para outros apps no sistema.
SoundTrigger
: implementa o gerenciamento de palavras-chave e está
disponível para VIAs pelo AlwaysOnHotwordDetector.
MediaRecorder
: fornece acesso à entrada de áudio para
detecção de palavras-chave (ao usar a CPU) e reconhecimento de fala.
PhoneWindowManager
/CarInputService
. Esses
serviços são responsáveis, entre outras coisas, por processar eventos importantes, roteando
PTT para a VIA por meio de VoiceInteractionManagerService
.
User
. O usuário interage com um VIA por meio de gatilhos
(PTT, TTT, palavra de ativação) ou da interface do Voice Plate.
- CarService, Notifications, Media, Telephony, ContactsProvider e assim por diante.
Serviços e apps usados pela VoiceInteractionSession para
cumprir os comandos do usuário.
Conceitos específicos de automóveis
O AAOS difere do Android nos seguintes aspectos:
- Além das funcionalidades normais do Google Assistente, as VIAs do AAOS podem controlar funções
do veículo (por exemplo, HVAC, assentos e luzes internas). Essas funcionalidades
podem ser integradas usando a API CarPropertyManager (confira mais em Ler uma
propriedade do veículo), desde que os OEMs configurem o acesso corretamente, conforme descrito em
Lista de permissões privilegiadas.
- A personalização e a consistência são mais relevantes no setor automotivo do que em qualquer
outro formato. Consulte
Personalização
para saber mais sobre a implementação dessas diretrizes.
O conteúdo e os exemplos de código nesta página estão sujeitos às licenças descritas na Licença de conteúdo. Java e OpenJDK são marcas registradas da Oracle e/ou suas afiliadas.
Última atualização 2025-07-27 UTC.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Não contém as informações de que eu preciso","missingTheInformationINeed","thumb-down"],["Muito complicado / etapas demais","tooComplicatedTooManySteps","thumb-down"],["Desatualizado","outOfDate","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Problema com as amostras / o código","samplesCodeIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 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."]]