Tworzenie aplikacji do poznania ciekawych miejsc

W tym przewodniku opisujemy różne funkcje biblioteki aplikacji samochodowych, za pomocą których można wdrożyć funkcje aplikacji ciekawych miejsc.

Zadeklaruj obsługę kategorii w pliku manifestu

Aplikacja musi zadeklarować kategorię aplikacji samochodowej androidx.car.app.category.POI w filtrze intencji w CarAppService.

Ten przykład pokazuje, jak zadeklarować kategorię aplikacji:

<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>

Dostęp do szablonu mapy

Aplikacje mają dostęp do obszaru PlaceListMapTemplate, który służy do wyświetlania listy ciekawych miejsc obok mapy renderowanej przez gospodarza.

Aby uzyskać dostęp do tego szablonu, aplikacja musi zadeklarować uprawnienie androidx.car.app.MAP_TEMPLATES w swoim pliku AndroidManifest.xml:

<uses-permission android:name="androidx.car.app.MAP_TEMPLATES"/>

Odśwież zawartość szablonu mapy listy miejsc

Możesz zezwolić kierowcom na odświeżanie treści jednym kliknięciem podczas przeglądania list miejsc utworzonych przy użyciu PlaceListMapTemplate. Zaimplementuj metodę onContentRefreshRequested interfejsu OnContentRefreshListener i użyj PlaceListMapTemplate.Builder.setOnContentRefreshListener, aby ustawić odbiornik w szablonie, co umożliwi odświeżanie listy.

Ten fragment kodu pokazuje, jak ustawić odbiornik w szablonie:

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();

Przycisk odświeżania pojawia się w nagłówku elementu PlaceListMapTemplate tylko wtedy, gdy detektor ma określoną wartość.

Gdy użytkownik kliknie przycisk odświeżania, wywołana jest metoda onContentRefreshRequested w implementacji OnContentRefreshListener. W obrębie onContentRefreshRequested wywołaj metodę Screen.invalidate. Host ten wywołuje metodę Screen.onGetTemplate aplikacji, aby pobrać szablon z odświeżoną treścią. Więcej informacji o odświeżaniu szablonów znajdziesz w sekcji Odświeżanie zawartości szablonu. Jeśli następny szablon zwracany przez funkcję onGetTemplate jest tego samego typu, liczy się to jako odświeżenie i nie wliczają się do limitu szablonu.

Integracja z Asystentem Google za pomocą działań w aplikacji

Włącz głosowo swoją aplikację z ważnymi miejscami za pomocą Asystenta, aby umożliwić użytkownikom wyszukiwanie ciekawych miejsc za pomocą poleceń głosowych: „OK Google, znajdź stacje ładowania w pobliżu w przykładowej aplikacji”. Szczegółowe instrukcje znajdziesz w artykule Działania w aplikacji dla samochodów.