In diesem Leitfaden werden die verschiedenen Funktionen der Auto-App-Bibliothek beschrieben. mit denen Sie die Funktionalität Ihres POI implementieren können
Deklariere in deinem Manifest die Unterstützung von Kategorien
Deine App muss die androidx.car.app.category.POI
deklarieren Auto-App-Kategorie im Intent-Filter der zugehörigen CarAppService
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 das PlaceListMapTemplate
zugreifen und MapWithContentTemplate
.
PlaceListMapTemplate
ist speziell dafür vorgesehen, eine Liste der POIs neben einer Karte, die vom Host gerendert wird.
Mit dem MapWithContentTemplate
können Listen und andere Arten von neben einer Karte, die von Ihrer App gerendert wird. Weitere Informationen finden Sie unter Wenn Sie weitere Informationen benötigen, zeichnen Sie Karten. Vorlage.
Damit du auf diese Vorlagen zugreifen kannst, muss deine App die Berechtigung androidx.car.app.MAP_TEMPLATES
in der Datei AndroidManifest.xml
:
<manifest ...> ... <uses-permission android:name="androidx.car.app.MAP_TEMPLATES"/> ... </manifest>
„PlaceListMapTemplate“-Inhalt aktualisieren
Du kannst zulassen, dass Fahrer Inhalte beim Surfen mit nur einmal tippen auf eine Schaltfläche aktualisieren Listen mit Orten, die mit PlaceListMapTemplate
Implementieren Sie die OnContentRefreshListener
onContentRefreshRequested
der Benutzeroberfläche und verwenden Sie PlaceListMapTemplate.Builder.setOnContentRefreshListener
, um den Listener für die Vorlage so einzustellen, 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 in der Kopfzeile der Seite PlaceListMapTemplate
, wenn der Listener einen Wert hat.
Wenn der Nutzer auf die Schaltfläche zum Aktualisieren klickt, wird der onContentRefreshRequested
Ihrer OnContentRefreshListener
-Implementierung aufgerufen. Innerhalb von onContentRefreshRequested
, die Funktion Screen.invalidate
. Der Host ruft dann die Screen.onGetTemplate
, um die Vorlage mit dem aktualisierten Inhalt abzurufen. Weitere Informationen finden Sie unter Aktualisieren der Inhalt einer Vorlage. Vorlagen aktualisieren. Solange die nächste von onGetTemplate
zurückgegebene Vorlage vom gleichen Typ ist, wird sie als Aktualisierung gezählt und nicht Vorlagenkontingent.
Mit App Actions in Google Assistant einbinden
Ermöglichen Sie Nutzern mithilfe von Sprachbefehlen, Ihre POI-App mit Assistant zu aktivieren, indem Sie Fragen wie „Hey Google, finde Ladestationen in der Nähe auf ExampleApp" hinzu. Eine ausführliche Anleitung finden Sie unter App Actions for Cars.