Configura il progetto

Questa pagina descrive come installare la libreria di app per auto e come configurare il file manifest per la tua app.

Installare la libreria di app per auto

Per aggiungere la libreria alla tua app, consulta la pagina di rilascio della libreria Jetpack.

Configurare i file manifest dell'app

Prima di poter creare la tua app per auto, devi configurare i file manifest dell'app.

Dichiarare CarAppService

L'host si connette alla tua app tramite l'implementazione di CarAppService. Dichiara questo servizio nel manifest per consentire all'host di scoprire la tua app e connettersi a essa.

Devi anche dichiarare la categoria dell'app nell'elemento <category> del filtro per intent dell'app. Consulta l'elenco delle categorie di app supportate per i valori consentiti per questo elemento.

Il seguente snippet di codice mostra come dichiarare un servizio di app per auto per un'app per punti di interesse nel manifest:

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

Categorie di app supportate

Quando dichiari CarAppService come descritto in Dichiarare CarAppService, devi anche dichiarare la categoria dell'app aggiungendo uno o più di questi valori nel filtro per intent.

Per descrizioni dettagliate di ogni categoria e dei criteri richiesti per essere idonei a una categoria, consulta Qualità delle app Android per auto.

Specificare il nome e l'icona dell'app

Per rappresentare l'app nell'interfaccia utente del sistema, carPermissionActivityLayout deve specificare un nome e un'icona dell'app per l'host. Utilizza gli attributi label e icon di CarAppService per specificare il nome e l'icona dell'app utilizzati dall'host per rappresentare la tua app:

...
<service
   android:name=".MyCarAppService"
   android:exported="true"
   android:label="@string/my_app_name"
   android:icon="@drawable/my_app_icon">
   ...
</service>
...

Se non dichiari un'etichetta o un'icona nell'elemento <service>, l'host utilizza i valori specificati dall'elemento <application>.

Impostare un tema personalizzato

Per impostare un tema personalizzato per l'app per auto:

  1. Aggiungi un elemento <meta-data> nel file manifest:

    <meta-data
        android:name="androidx.car.app.theme"
        android:resource="@style/MyCarAppTheme />
    
  2. Dichiara la risorsa di stile per impostare gli attributi per il tema personalizzato dell'app per auto:

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

Livello API dell'app per auto

La libreria di app per auto definisce i propri livelli API in modo che tu possa sapere quali funzionalità della libreria sono supportate dall'host del modello su un veicolo. Per recuperare il livello API dell'app per auto più alto supportato da un host, utilizza il getCarAppApiLevel() metodo.

Dichiara il livello API minimo dell'app per auto supportato dalla tua app nel file AndroidManifest.xml:

<manifest ...>
    <application ...>
        <meta-data
            android:name="androidx.car.app.minCarApiLevel"
            android:value="1"/>
    </application>
</manifest>

Per informazioni dettagliate su come mantenere la compatibilità con le versioni precedenti e dichiarare il livello API minimo richiesto per utilizzare una funzionalità, consulta la documentazione relativa all' RequiresCarApi annotazione. Per una definizione del livello API richiesto per utilizzare una determinata funzionalità della libreria di app per auto, consulta la documentazione di riferimento per CarAppApiLevels.