Modo de compatibilidade do Android Automotive OS

Para simplificar o processo de disponibilização de apps para dispositivos móveis no Android Automotive OS, alguns carros vêm com um modo de compatibilidade que resolve problemas comuns enfrentados ao disponibilizar apps para dispositivos móveis em carros.

Embora esse modo de compatibilidade seja usado pelo programa de apps para dispositivos móveis criados para carros, os apps que não fazem parte desse programa também podem ser executados nele.

Entender o modo de compatibilidade

O modo de compatibilidade do Android Automotive OS é um recurso de software disponível em alguns veículos para melhorar a experiência do usuário de apps criados para dispositivos móveis quando executados no Android Automotive OS.

Navegação de retorno

Diferente de outros formatos, não há requisito para que os dispositivos Android Automotive OS tenham uma affordance de retorno de hardware ou software. O modo de compatibilidade resolve isso exigindo uma affordance de retorno fornecida pelo sistema, como um botão de hardware, um botão de software ou um gesto. Isso significa que os apps não precisam fornecer seus próprios controles de navegação de retorno ao segmentar apenas dispositivos com o modo de compatibilidade.

O usuário pode voltar à tela anterior, mesmo que o app não forneça uma affordance de retorno na interface.
O usuário não pode voltar à tela anterior.

Renderização da área segura

Em carros, elementos de software e hardware, como barras de sistema e recortes de tela, podem invalidar as suposições feitas ao desenvolver apps principalmente para dispositivos móveis. O modo de compatibilidade resolve isso renderizando apps em uma área segura.

Escalonamento de densidade

Como a distância de interação em carros é maior do que em outros dispositivos de tela grande, os destinos de toque e os tamanhos de fonte costumam ser menores do que o recomendado ao executar em um carro. O modo de compatibilidade resolve isso permitindo que os OEMs especifiquem um fator de escalonamento de DPI usado ao renderizar apps.

Ciclo de vida da atividade

Conforme descrito em Adicionar suporte ao Android Automotive OS ao app estacionado, o SO bloqueia automaticamente as atividades do app quando o carro entra no modo de direção para reduzir as distrações do motorista. Em dispositivos com o modo de compatibilidade, a interface de bloqueio do OEM não pode ser transparente. Assim, o app não fica mais visível e faz a transição para o Parado estado do ciclo de vida quando bloqueado.

Configurar o modo de compatibilidade

Por padrão, as atividades do app são executadas no modo de compatibilidade quando o dispositivo oferece suporte a ele. As atividades não são executadas no modo de compatibilidade quando um <uses-feature> elemento para o android.hardware.type.automotive recurso está presente no manifesto:

<manifest ...>
  ...
  <uses-feature android:name="android.hardware.type.automotive" ...>
  ...
</manifest>

Se você preferir que suas atividades sejam executadas no modo de compatibilidade de exibição, independentemente do elemento <uses-feature> descrito anteriormente, adicione o seguinte elemento <meta-data> no manifesto do app:

<application ...>
  ...
  <meta-data android:name="android.software.car.display_compatibility" android:value="true"/>
  ...
</application>

Testar o app no modo de compatibilidade

Para testar o app no modo de compatibilidade, use as imagens genéricas do sistema com o modo de compatibilidade ou as imagens do sistema do Android Automotive OS no Pixel Tablet.

Determinar o suporte do dispositivo

Os dispositivos que oferecem suporte ao modo de compatibilidade do Android Automotive OS precisam declarar o recurso do sistema android.software.car.display_compatibility. Para descobrir quais dispositivos oferecem suporte a esse recurso, use o Catálogo de dispositivos do Play Console.