Tworzenie aplikacji do poznania ciekawych miejsc

W tym przewodniku opisujemy różne funkcje biblioteki aplikacji samochodowych, których możesz używać do implementowania funkcji aplikacji dotyczącej ważnych miejsc (POI).

Deklarowanie obsługi kategorii w pliku manifestu

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

Poniższy 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 szablonów map

Aplikacje dotyczące punktów zainteresowania mogą korzystać z PlaceListMapTemplate i MapWithContentTemplate.

Szablon PlaceListMapTemplate jest przeznaczony do wyświetlania listy punktów zainteresowania obok mapy renderowanej przez hosta.

Szablon MapWithContentTemplate może służyć do wyświetlania list i innych typów treści obok mapy renderowanej przez aplikację. Więcej informacji o korzystaniu z tego szablonu znajdziesz w artykule Rysowanie map.

Aby uzyskać dostęp do tych szablonów, aplikacja musi zadeklarować uprawnienie androidx.car.app.MAP_TEMPLATES w pliku AndroidManifest.xml:

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

Odświeżanie treści szablonu PlaceListMapTemplate

Możesz umożliwić kierowcom odświeżanie treści przez kliknięcie przycisku podczas przeglądania list miejsc utworzonych za pomocą PlaceListMapTemplate. Zaimplementuj metodę onContentRefreshRequested interfejsu OnContentRefreshListener i użyj metody PlaceListMapTemplate.Builder.setOnContentRefreshListener, aby ustawić odbiornik w szablonie i włączyć odświeżanie listy.

Poniższy fragment kodu pokazuje, jak ustawić odbiornik w szablonie:

return PlaceListMapTemplate.Builder()
    // ...
    .setOnContentRefreshListener {
        // Execute any desired logic
        // ...
        // Then call invalidate() so onGetTemplate() is called again
        invalidate()
    }
    .build()

Przycisk odświeżania jest wyświetlany w nagłówku szablonu PlaceListMapTemplate tylko wtedy, gdy odbiornik ma wartość.

Gdy użytkownik kliknie przycisk odświeżania, zostanie wywołana metoda onContentRefreshRequested implementacji OnContentRefreshListener. W onContentRefreshRequestedwywołaj Screen.invalidate metodę. Następnie host wywoła metodę aplikacji, aby pobrać szablon ze zaktualizowaną treścią.Screen.onGetTemplate Więcej informacji o odświeżaniu szablonów znajdziesz w artykule Odświeżanie treści szablonu. Dopóki następny szablon zwracany przez metodę onGetTemplate jest tego samego typu, jest on traktowany jako odświeżenie i nie jest wliczany do limitu szablonów.

Integracja z Gemini lub Asystentem Google za pomocą akcji w aplikacji

Włącz obsługę głosową w aplikacji dotyczącej punktów zainteresowania za pomocą Gemini lub Asystenta Google, aby umożliwić użytkownikom wyszukiwanie punktów zainteresowania przez zadawanie pytań takich jak "OK Google, znajdź pobliskie stacje ładowania w aplikacji ExampleApp". Szczegółowe instrukcje znajdziesz w artykule Akcje w aplikacji na Androida Auto.