Criar o projeto

Nesta página, descrevemos como instalar a biblioteca de apps para carro 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. Consulte a lista de categorias de apps compatíveis para 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 o CarAppService, conforme descrito em Declarar o CarAppService, também é necessário declarar a categoria do app adicionando um ou mais desses valores no filtro de intent.

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, 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:

  1. Adicione um elemento <meta-data> ao arquivo de manifesto:

    <meta-data
        android:name="androidx.car.app.theme"
        android:resource="@style/MyCarAppTheme />
    
  2. 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>