Em dispositivos com o Android 15 ou versões mais recentes, o Android Auto permite executar apps em categorias de apps para carros estacionados diretamente na unidade principal. Consulte Apps para carros estacionados para mais informações sobre a experiência do usuário com esses apps no Android Auto.
Habilidades do Android
Ver no GitHubApps do Android para carros estacionados
android skills add android-for-cars-parked-appsDeclarar compatibilidade com o Android Auto
Para declarar que seu app é compatível com o Android Auto, inclua o seguinte elemento
<category> 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>
Em geral, 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 adicional. Consulte Marcar seu app como um jogo.
Suporte a tamanhos de tela comuns do Android Auto
Para a melhor experiência do usuário, recomendamos que seu app seja totalmente adaptável
a diferentes tamanhos de tela. No mínimo, para garantir uma experiência de alta qualidade
na variedade de carros compatíveis com o Android Auto, os apps não podem ter
pillarbox significativo em telas de paisagem, conforme capturado pela diretriz de qualidade de apps para carros
DO-2.
Por exemplo, se um app for executado em uma proporção de retrato com pillarbox em uma tela de paisagem, ele será rejeitado durante a revisão da Play Store. Um app executado em uma proporção de paisagem com pillarbox mínimo em uma tela de paisagem é aceitável, assim como um app executado em uma proporção de paisagem com letterbox em uma tela de retrato.
Testar em tamanhos de tela canônicos
Ao criar e testar seu app para o Android Auto, use as seguintes configurações da unidade principal de área de trabalho (DHU, na sigla em inglês) para verificar se o app atende aos requisitos anteriores:
Paisagem pequena
[general]
resolution = 800x480
dpi = 160
...
Paisagem 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 o app está sendo usado pelo Android Auto (por exemplo, para fins de análise), observe dois indicadores:
- O estado da conexão informado pela API
CarConnection. Quando o Android Auto estiver conectado, seráCONNECTION_TYPE_PROJECTION. - O ID da tela ativa. Quando o app está em execução em uma tela
que não é 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 displayId = context.display?.displayId ?: DEFAULT_DISPLAY isRunningOnAndroidAuto = (connectionType == CONNECTION_TYPE_PROJECTION) && (displayId != DEFAULT_DISPLAY)