In diesem Leitfaden werden die verschiedenen Funktionen der Auto-App-Bibliothek beschrieben, mit denen Sie die Funktionen Ihrer POI-App implementieren können.
Unterstützung für Kategorien im Manifest deklarieren
Deine App muss im Intent-Filter des zugehörigen CarAppService
-Objekts die Kategorie androidx.car.app.category.POI
für die Auto-App 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>
Kartenvorlage aufrufen
Apps können auf das PlaceListMapTemplate
zugreifen, das speziell dafür entwickelt wurde, eine Liste der POIs neben einer vom Host gerenderten Karte anzuzeigen.
Für den Zugriff auf diese Vorlage muss Ihre App die Berechtigung androidx.car.app.MAP_TEMPLATES
in der Datei AndroidManifest.xml
deklarieren:
<uses-permission android:name="androidx.car.app.MAP_TEMPLATES"/>
„PlaceListMapTemplate“-Inhalt aktualisieren
Sie können Fahrern erlauben, Inhalte per Tastendruck zu aktualisieren, während sie Listen von Orten durchsuchen, 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 festzulegen und die Listenaktualisierung zu aktivieren.
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 Aktualisierungsschaltfläche 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 noch einmal auf, um die Vorlage mit dem aktualisierten Inhalt abzurufen. Weitere Informationen zum Aktualisieren von Vorlagen finden Sie unter Inhalte 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.
Über App Actions in Google Assistant einbinden
Aktiviere deine POI-App mit Assistant, damit Nutzer nach POIs suchen können, indem du zum Beispiel „Hey Google, such in der Beispiel-App Ladestationen in der Nähe“ fragst. Eine ausführliche Anleitung finden Sie unter App-Aktionen für Autos.