In diesem Leitfaden werden die verschiedenen Funktionen der Programmbibliothek Car App beschrieben, mit denen Sie die Funktionalität Ihrer App für Orte von Interesse (Points of Interest, POIs) implementieren können.
Kategorieunterstützung im Manifest deklarieren
Ihre App muss die androidx.car.app.category.POI
App-Kategorie für Autos
im Intent-Filter ihres
CarAppServicedeklarieren.
Im folgenden Beispiel wird gezeigt, 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>
Auf die Kartenvorlagen zugreifen
POI-Apps können auf das
PlaceListMapTemplate
und MapWithContentTemplatezugreifen.
PlaceListMapTemplate wurde speziell für die Anzeige einer Liste von POIs neben einer Karte entwickelt, die vom Host gerendert wird.
Die MapWithContentTemplate kann verwendet werden, um Listen und andere Arten von
Inhalten neben einer Karte anzuzeigen, die von Ihrer App gerendert wird. Weitere Informationen zur Verwendung dieser
Vorlage finden Sie unter
Karten zeichnen.
Damit Ihre App auf diese Vorlagen zugreifen kann, muss sie die Berechtigung androidx.car.app.MAP_TEMPLATES in der Datei AndroidManifest.xml deklarieren:
<manifest ...>
...
<uses-permission android:name="androidx.car.app.MAP_TEMPLATES"/>
...
</manifest>
Inhalte von PlaceListMapTemplate aktualisieren
Sie können Fahrern die Möglichkeit geben, Inhalte zu aktualisieren, indem sie auf eine Schaltfläche tippen, während sie
Listen von Orten durchsuchen, die mit
PlaceListMapTemplate erstellt wurden.
Implementieren Sie die
OnContentRefreshListener
Methode der Schnittstelle onContentRefreshRequested
und verwenden Sie
PlaceListMapTemplate.Builder.setOnContentRefreshListener, um den Listener in der Vorlage festzulegen und die Listenaktualisierung zu aktivieren.
Im folgenden Snippet wird gezeigt, wie der Listener in der Vorlage festgelegt wird:
return PlaceListMapTemplate.Builder() // ... .setOnContentRefreshListener { // Execute any desired logic // ... // Then call invalidate() so onGetTemplate() is called again invalidate() } .build()
Die Schaltfläche „Aktualisieren“ wird nur in der Kopfzeile von PlaceListMapTemplate angezeigt, wenn der Listener einen Wert hat.
Wenn der Nutzer auf die Schaltfläche „Aktualisieren“ klickt, wird die Methode onContentRefreshRequested Ihrer OnContentRefreshListener-Implementierung aufgerufen. Rufen Sie in
onContentRefreshRequested die
Screen.invalidate
Methode auf. Der Host ruft dann die Methode
Screen.onGetTemplate
Ihrer App auf, um die Vorlage mit den aktualisierten Inhalten abzurufen. Weitere Informationen zum Aktualisieren von Vorlagen finden Sie unter Inhalte einer Vorlage
aktualisieren. Solange die nächste von onGetTemplate zurückgegebene Vorlage denselben Typ hat, wird sie als Aktualisierung gezählt und nicht auf das Vorlagenkontingent angerechnet.
Mit App-Aktionen in Google Assistant einbinden
Aktivieren Sie die Sprachsteuerung für Ihre POI-App mit Assistant, damit Nutzer nach Orten von Interesse suchen können, indem sie beispielsweise „Hey Google, suche in Beispiel-App nach Ladestationen in der Nähe“ sagen. Eine detaillierte Anleitung finden Sie unter App-Aktionen für Autos.