POI-App erstellen

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.