Adicionar suporte para o Android Auto ao seu app estacionado

Em dispositivos com o Android 15 ou mais recente, o Android Auto oferece suporte à execução de apps em categorias de apps estacionados compatíveis diretamente na unidade principal. Consulte Apps estacionados para mais informações sobre a experiência do usuário de apps estacionados no Android Auto.

Declarar compatibilidade com o Android Auto

Para declarar que seu app oferece suporte ao Android Auto, inclua o seguinte <category> elemento no filtro de intent de uma atividade no manifesto do app:

<activity ...>
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        ...
        <category android:name="android.intent.category.CAR_LAUNCHER" />
    </intent-filter>
</activity>

Geralmente, o elemento de categoria android.intent.category.CAR_LAUNCHER pode ser colocado no mesmo filtro de intent que o elemento android.intent.category.LAUNCHER, mas pode estar em um diferente, se preferir.

Entradas de manifesto específicas da categoria

Além do requisito anterior, os jogos têm um requisito extra. Consulte Marcar seu app como um jogo.

Oferecer suporte a tamanhos de tela comuns do Android Auto

Para oferecer a melhor experiência do usuário, recomendamos que você torne seu app totalmente adaptável a diferentes tamanhos de tela. No mínimo, para garantir uma experiência de alta qualidade na variedade de carros que oferecem suporte ao Android Auto, os apps não podem ter um efeito pillarbox significativo em telas horizontais, conforme capturado pela DO-2 diretriz de qualidade de apps para carros.

Por exemplo, se um app for executado em uma proporção de retrato com pillarboxing em uma tela horizontal, ele será rejeitado durante a análise da Google Play Store. Um app executado em uma proporção horizontal com pillarboxing mínimo em uma tela horizontal é aceitável, assim como um app executado em uma proporção horizontal com letterboxing em uma tela vertical.

Testar em tamanhos de tela canônicos

Ao criar e testar seu app para o Android Auto, você pode usar as seguintes configurações da unidade principal do computador (DHU, na sigla em inglês) para verificar se o app atende aos requisitos anteriores:

Horizontal pequena

[general]
resolution = 800x480
dpi = 160
...

Horizontal ampla

[general]
resolution = 1920x1080
dpi = 160
marginheight = 596
normalizedpi = true
cropmargins = true
...

Retrato

[general]
resolution = 1920x1080
dpi = 160
marginwidth = 878
normalizedpi = true
cropmargins = true
...

Detectar o uso no Android Auto

Se você quiser detectar quando seu app está sendo usado pelo Android Auto (por exemplo, para fins de análise), confira dois indicadores:

  • O estado da conexão informado pela CarConnection API. Quando o Android Auto estiver conectado, ele será CONNECTION_TYPE_PROJECTION.
  • O ID de exibição da tela ativa. Quando o app está sendo executado em uma tela diferente de uma tela integrada, como quando usado pelo Android Auto, esse é um valor diferente de DEFAULT_DISPLAY.

O snippet a seguir mostra como combinar esses indicadores para detectar o uso pelo Android Auto:

val connectionType = ...
val displayId = context.display.displayId
isRunningOnAndroidAuto = connectionType == CONNECTION_TYPE_PROJECTION and displayId != DEFAULT_DISPLAY