Para simplificar o processo de trazer apps para dispositivos móveis para o Android Automotive OS, alguns carros vêm com um modo de compatibilidade que resolve problemas comuns enfrentados ao trazer apps para dispositivos móveis para carros.
Embora esse modo de compatibilidade seja usado pelo programa Apps para dispositivos móveis criados para carros, 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
Ao contrário de outros formatos, não há requisito para que os dispositivos Android Automotive OS tenham uma opção de retorno de hardware ou software. O modo de compatibilidade resolve isso exigindo uma ação 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 controles de navegação para trás próprios ao segmentar apenas dispositivos com modo de compatibilidade.
Com o modo de compatibilidade
Sem o modo de compatibilidade
Renderização da área segura
Em carros, elementos de software e hardware, como barras de sistema e cortes de tela, podem invalidar as proposições feitas ao desenvolver apps principalmente para dispositivos móveis. O modo de compatibilidade resolve isso renderizando apps em uma área segura.
Dimensionamento 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 para o Android Automotive OS ao seu app estacionado, o SO bloqueia automaticamente as atividades do app quando o veículo entra em movimento a fim de reduzir as distrações para o motorista. Em dispositivos com modo de compatibilidade, a interface de bloqueio do OEM não pode ser transparente. Assim, seu app não fica mais visível e faz a transição para o estado do ciclo de vida interrompido 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
elemento <uses-feature> para o recurso android.hardware.type.automotive
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 tela,
independente 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 seu 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 a compatibilidade 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 são compatíveis com esse recurso, use o
Catálogo de dispositivos do Play Console.