POI-App erstellen

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.