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.