En esta guía, se detallan las diferentes funciones de la biblioteca de Car App que puedes usar para implementar la funcionalidad de tu app de lugares de interés.
Declara la compatibilidad de categoría en tu manifiesto
Tu app debe declarar la androidx.car.app.category.POI
categoría de app para vehículos
en el filtro de intents de su
CarAppService.
En el siguiente ejemplo, se muestra cómo declarar la categoría de la app:
<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>
Accede a las plantillas de mapas
Las apps de lugares de interés pueden acceder a los
PlaceListMapTemplate
y MapWithContentTemplate.
La PlaceListMapTemplate está diseñada específicamente para mostrar una lista de los lugares de interés junto a un mapa renderizado por el host.
La MapWithContentTemplate se puede usar para mostrar listas y otros tipos de
contenido junto con un mapa renderizado por tu app. Consulta
Cómo dibujar mapas para obtener más detalles sobre el uso de esta
plantilla.
Para acceder a estas plantillas, la app debe declarar el permiso androidx.car.app.MAP_TEMPLATES en su archivo AndroidManifest.xml:
<manifest ...>
...
<uses-permission android:name="androidx.car.app.MAP_TEMPLATES"/>
...
</manifest>
Actualiza el contenido de PlaceListMapTemplate
Puedes proporcionar a los conductores una forma de actualizar el contenido presionando 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 si quieres habilitar la actualización de la lista.
En el siguiente fragmento, se muestra cómo configurar el objeto de escucha en la plantilla:
return 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
Screen.invalidate
método. 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 sobre
la actualización de plantillas. 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.
Cómo usar Acciones en apps para la integración con Gemini o Asistente de Google
Habilita tu app de lugares de interés por voz con Gemini o Asistente de Google 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.