Ce guide détaille les différentes fonctionnalités de la bibliothèque Car App que vous pouvez utiliser pour implémenter votre application de point d'intérêt (POI).
Déclarer la catégorie compatible dans votre fichier manifeste
Votre application doit déclarer la catégorie d'applications automobiles androidx.car.app.category.POI
dans le filtre d'intent de son CarAppService
.
L'exemple suivant montre comment déclarer la catégorie d'applications :
<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>
Accéder au modèle de carte
Les applications peuvent accéder au PlaceListMapTemplate
, spécialement conçu pour présenter une liste de POI avec une carte affichée par l'hôte.
Pour accéder à ce modèle, votre application doit déclarer l'autorisation androidx.car.app.MAP_TEMPLATES
dans son fichier AndroidManifest.xml
:
<uses-permission android:name="androidx.car.app.MAP_TEMPLATES"/>
Actualiser le contenu du modèle PlaceListMapTemplate
Vous pouvez autoriser les conducteurs à actualiser le contenu d'un simple geste, tout en parcourant des listes de lieux créées avec PlaceListMapTemplate
.
Mettez en œuvre la méthode onContentRefreshRequested
de l'interface OnContentRefreshListener
et utilisez PlaceListMapTemplate.Builder.setOnContentRefreshListener
pour définir l'écouteur au niveau du modèle afin d'activer l'actualisation de la liste.
L'extrait de code suivant montre comment définir l'écouteur au niveau du modèle :
Kotlin
PlaceListMapTemplate.Builder() ... .setOnContentRefreshListener { // Execute any desired logic ... // Then call invalidate() so onGetTemplate() is called again invalidate() } .build()
Java
new PlaceListMapTemplate.Builder() ... .setOnContentRefreshListener(() -> { // Execute any desired logic ... // Then call invalidate() so onGetTemplate() is called again invalidate(); }) .build();
Le bouton d'actualisation ne s'affiche dans l'en-tête du PlaceListMapTemplate
que si l'écouteur a une valeur.
Lorsque l'utilisateur clique sur le bouton d'actualisation, la méthode onContentRefreshRequested
de votre implémentation de OnContentRefreshListener
est appelée. Dans onContentRefreshRequested
, appelez la méthode Screen.invalidate
. L'hôte rappelle ensuite la méthode Screen.onGetTemplate
de votre application pour récupérer le modèle avec le contenu actualisé. Pour plus d'informations, consultez la section Actualiser le contenu d'un modèle. Tant que le modèle suivant renvoyé par onGetTemplate
est du même type, il est considéré comme une actualisation et n'est pas comptabilisé dans le quota de modèles.
Intégrer l'Assistant Google à l'aide des actions dans les applications
Activez les commandes vocales pour une application POI à l'aide de l'Assistant pour permettre aux utilisateurs de rechercher des points d'intérêt en disant, par exemple, "Hey Google, trouve les bornes de recharge les plus proches sur l'appli XXX". Pour obtenir des instructions détaillées, consultez la section Actions dans les applications pour voitures.