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 von
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 onContentRefreshRequested
der Schnittstelle, und verwenden Sie
PlaceListMapTemplate.Builder.setOnContentRefreshListener
, um den Listener für die Vorlage festzulegen und die Listenaktualisierung zu aktivieren.
Im folgenden Snippet wird gezeigt, wie der Listener für die 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 Gemini oder Google Assistant über App-Aktionen verknüpfen
Sie können Ihre POI-App mit Gemini oder Google Assistant sprachgesteuert machen, damit Nutzer nach Orten von Interesse suchen können, indem sie beispielsweise "Hey Google, finde in der Beispiel-App Ladestationen in der Nähe" sagen. Eine detaillierte Anleitung finden Sie unter App-Aktionen für Autos.