POI-App erstellen

In diesem Leitfaden werden die verschiedenen Funktionen der Car App Library 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 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 zum Aktualisieren wird nur in der Kopfzeile von PlaceListMapTemplate angezeigt, wenn der Listener einen Wert hat.

Wenn der Nutzer auf die Schaltfläche zum 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

Aktivieren Sie die Sprachsteuerung für Ihre POI-App mit Gemini oder Google Assistant, 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.