In diesem Leitfaden werden die verschiedenen Funktionen der Car App Library beschrieben, mit denen Sie die Funktionen Ihrer POI-App implementieren können.
Deklariere in deinem Manifest die Unterstützung von Kategorien
Deine App muss die androidx.car.app.category.POI
Auto-App-Kategorie im Intent-Filter der zugehörigen
CarAppService
deklarieren.
Das folgende Beispiel zeigt, wie die App-Kategorie deklariert wird:
<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>
Kartenvorlagen aufrufen
POI-Apps können auf PlaceListMapTemplate
und MapWithContentTemplate
zugreifen.
Die PlaceListMapTemplate
ist speziell dafür vorgesehen, eine Liste der POIs neben einer Karte anzuzeigen, die vom Host gerendert wird.
Mit MapWithContentTemplate
lassen sich Listen und andere Inhaltstypen neben einer Karte anzeigen, die von Ihrer App gerendert wird. Weitere Informationen zur Verwendung dieser Vorlage finden Sie unter Karten zeichnen.
Damit Sie auf diese Vorlagen zugreifen können, muss Ihre App die Berechtigung androidx.car.app.MAP_TEMPLATES
in der Datei AndroidManifest.xml
deklarieren:
<manifest ...>
...
<uses-permission android:name="androidx.car.app.MAP_TEMPLATES"/>
...
</manifest>
„PlaceListMapTemplate“-Inhalt aktualisieren
Sie können zulassen, dass Fahrer Inhalte mit nur einmal tippen auf eine Schaltfläche aktualisieren, während sie sich Listen von Orten ansehen, die mit PlaceListMapTemplate
erstellt wurden.
Implementieren Sie die Methode onContentRefreshRequested
der OnContentRefreshListener
-Schnittstelle und verwenden Sie PlaceListMapTemplate.Builder.setOnContentRefreshListener
, um den Listener für die Vorlage so festzulegen, dass die Listenaktualisierung aktiviert wird.
Das folgende Snippet zeigt, wie der Listener für die Vorlage festgelegt wird:
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();
Die Schaltfläche zum Aktualisieren wird nur dann im Header von PlaceListMapTemplate
angezeigt, wenn der Listener einen Wert hat.
Wenn der Nutzer auf die Schaltfläche zum Aktualisieren klickt, wird die Methode onContentRefreshRequested
der OnContentRefreshListener
-Implementierung aufgerufen. Rufen Sie in onContentRefreshRequested
die Methode Screen.invalidate
auf. Der Host ruft dann die Methode Screen.onGetTemplate
Ihrer App auf, um die Vorlage mit dem aktualisierten Inhalt abzurufen. Weitere Informationen zum Aktualisieren von Vorlagen finden Sie unter Inhalt einer Vorlage aktualisieren. Solange die nächste von onGetTemplate
zurückgegebene Vorlage vom selben Typ ist, wird sie als Aktualisierung gezählt und nicht auf das Vorlagenkontingent angerechnet.
Mit App Actions in Google Assistant einbinden
Wenn Sie die Sprachsteuerung Ihrer POI-App mit Assistant aktivieren, können Nutzer nach POIs suchen, indem Sie beispielsweise sagen: „Hey Google, finde in ExampleApp Ladestationen in der Nähe“. Eine ausführliche Anleitung finden Sie unter App Actions for Cars.