En esta sección, se detallan las diferentes funciones de la biblioteca que puedes usar a fin de implementar la funcionalidad de tu app de lugares de interés (POI).
Cómo declarar la compatibilidad de categoría en tu manifiesto
Tu app debe declarar la categoría de app para vehículos androidx.car.app.category.POI
en el filtro de intents de su CarAppService
.
<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>
Cómo acceder a la plantilla de mapas
Las apps pueden acceder a la PlaceListMapTemplate
, específicamente diseñada para mostrar una lista de lugares de interés junto con un mapa renderizado por el host.
Para poder acceder a esta plantilla, tu app debe declarar el permiso androidx.car.app.MAP_TEMPLATES
en su AndroidManifest.xml
:
<uses-permission android:name="androidx.car.app.MAP_TEMPLATES"/>
Actualiza el contenido de PlaceListMapTemplate
Puedes permitir que los conductores actualicen el contenido con solo presionar un botón mientras exploran listas de lugares compiladas con PlaceListMapTemplate
.
Implementa el método onContentRefreshRequested
de la interfaz OnContentRefreshListener
y usa PlaceListMapTemplate.Builder.setOnContentRefreshListener
para configurar el objeto de escucha en la plantilla a fin de habilitar la actualización de la lista.
En el siguiente fragmento, se muestra cómo configurar el objeto de escucha en la plantilla:
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();
El botón de actualización solo se muestra en el encabezado de PlaceListMapTemplate
si el objeto de escucha tiene un valor.
Cuando el conductor hace clic en el botón de actualización, se llama al método onContentRefreshRequested
de la implementación de OnContentRefreshListener
. En onContentRefreshRequested
, llama al método Screen.invalidate
. Luego, el host volverá a llamar al método Screen.onGetTemplate
de tu app para recuperar la plantilla con el contenido actualizado. Consulta Cómo actualizar el contenido de una plantilla para obtener más información. Siempre que la siguiente plantilla que muestra onGetTemplate
sea del mismo tipo, se contará como una actualización y no se sumará a la cuota de la plantilla.
Realiza la integración con Asistente de Google mediante Acciones en apps
Habilita tu app de lugares de interés por voz con Asistente y permite que los usuarios puedan hacer preguntas como "Hey Google, busca estaciones de carga cercanas en AppDeEjemplo" para buscar lugares de interés. Para obtener instrucciones detalladas, consulta Acciones en apps para vehículos.