Esta página descreve como instalar a biblioteca Car App e configurar o arquivo de manifesto do seu app.
Instalar a biblioteca de apps para carro
Para adicionar a biblioteca ao app, consulte a página de versões da biblioteca do Jetpack.
Configurar os arquivos de manifesto do app
Antes de criar o app para carro, é preciso configurar os arquivos de manifesto dele.
Declarar o CarAppService
O host se conecta ao seu app usando a implementação
CarAppService.
Declare esse serviço no manifesto para permitir que o host descubra e se conecte
ao seu app.
Também é necessário declarar a categoria do app no elemento <category>
do filtro de intent. Confira a lista de categorias de apps compatíveis com os
valores permitidos para esse elemento.
O snippet de código a seguir mostra como declarar um serviço de app para carros em um app de ponto de interesse no seu manifesto:
<application>
...
<service
...
android:name=".MyCarAppService"
android:exported="true">
<intent-filter>
<action android:name="androidx.car.app.CarAppService"/>
<category android:name="androidx.car.app.category.POI"/>
</intent-filter>
</service>
...
<application>
Categorias de apps compatíveis
Ao declarar seu CarAppService conforme descrito em
Declarar seu CarAppService, você também precisa declarar a categoria do app
adicionando um ou mais desses valores no filtro de intent.
androidx.car.app.category.NAVIGATION: fornece instruções de navegação guiada. Consulte Criar apps de navegação para carros.androidx.car.app.category.POI: oferece funcionalidades relevantes para encontrar pontos de interesse, como vagas de estacionamento, estações de recarga e postos de gasolina. Consulte Criar apps de ponto de interesse para carros.androidx.car.app.category.IOT: permite que os usuários realizem ações relevantes em dispositivos conectados de dentro do carro. Consulte Criar apps de Internet das Coisas para carros.androidx.car.app.category.WEATHER: permite que os usuários vejam informações relevantes sobre o clima relacionadas ao local atual ou ao longo do trajeto. Consulte Criar apps de clima para carros.androidx.car.app.category.MEDIA: permite que os usuários naveguem e reproduzam músicas, rádios, audiolivros e outros conteúdos de áudio no carro. Consulte Criar apps de mídia com modelos para carros.androidx.car.app.category.MESSAGING: permite que os usuários se comuniquem com mensagens de texto curtas. Consulte Criar experiências de mensagens com modelos para o Android Auto.androidx.car.app.category.CALLING: permite que os usuários se comuniquem por chamadas de voz. Consulte Criar experiências de chamadas para o Android Auto.
Para descrições detalhadas de cada categoria e os critérios necessários para se qualificar para uma categoria, consulte Qualidade de apps Android para carros.
Especificar o nome e o ícone do aplicativo
Para representar seu app na interface do sistema, o carPermissionActivityLayout precisa
especificar um nome e um ícone para o host. Use os atributos label e
icon do CarAppService para especificar o nome e o
ícone do app usados pelo host para representar seu app:
...
<service
android:name=".MyCarAppService"
android:exported="true"
android:label="@string/my_app_name"
android:icon="@drawable/my_app_icon">
...
</service>
...
Se você não declarar um rótulo ou ícone no elemento <service>, o host
usará os valores especificados pelo elemento <application>.
Definir um tema personalizado
Para definir um tema personalizado para o app de carro:
Adicione um elemento
<meta-data>ao arquivo de manifesto:<meta-data android:name="androidx.car.app.theme" android:resource="@style/MyCarAppTheme />Declare o recurso de estilo para definir os atributos do tema personalizado do app para carro:
<resources> <style name="MyCarAppTheme"> <item name="carColorPrimary">@color/my_primary_car_color</item> <item name="carColorPrimaryDark">@color/my_primary_dark_car_color</item> <item name="carColorSecondary">@color/my_secondary_car_color</item> <item name="carColorSecondaryDark">@color/my_secondary_dark_car_color</item> <item name="carPermissionActivityLayout">@layout/my_custom_background</item> </style> </resources>
Nível da API Car App
A biblioteca Car App define os próprios níveis de API para que você saiba quais
recursos da biblioteca são compatíveis com o host do modelo em um veículo.
Para recuperar o nível mais alto da API Car App compatível com um host, use o
método
getCarAppApiLevel().
Declare no arquivo AndroidManifest.xml o nível mínimo da API Car App compatível com
o app:
<manifest ...>
<application ...>
<meta-data
android:name="androidx.car.app.minCarApiLevel"
android:value="1"/>
</application>
</manifest>
Para mais detalhes sobre como manter a compatibilidade com versões anteriores e declarar
o nível mínimo da API necessário para usar um recurso, consulte a documentação da anotação
RequiresCarApi. Para saber qual nível da API
é necessário para usar determinado recurso da biblioteca Car App, consulte a
documentação de referência de
CarAppApiLevels.