Ten przewodnik zawiera szczegółowe informacje o różnych funkcjach biblioteki aplikacji w samochodzie które można wykorzystać do wdrożenia funkcji ważnego miejsca. .
Zadeklaruj obsługę kategorii w pliku manifestu
Aplikacja musi zadeklarować androidx.car.app.category.POI
Kategoria aplikacji samochodu w filtrze intencji jego
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 szablonów map
Aplikacje do ważnych miejsc mają dostęp do: PlaceListMapTemplate
i MapWithContentTemplate
.
Interfejs PlaceListMapTemplate
został zaprojektowany do wyświetlania listy
ważne miejsca obok mapy renderowanej przez gospodarza.
MapWithContentTemplate
może służyć do wyświetlania list i innych rodzajów danych:
obok mapy renderowanej przez Twoją aplikację. Zobacz
Aby dowiedzieć się więcej o korzystaniu z tej funkcji, rysuj mapy
szablon.
Aby uzyskać dostęp do tych szablonów, aplikacja musi zadeklarować parametr
Uprawnienie androidx.car.app.MAP_TEMPLATES
w pliku AndroidManifest.xml
:
<manifest ...>
...
<uses-permission android:name="androidx.car.app.MAP_TEMPLATES"/>
...
</manifest>
Odświeżenie zawartości szablonu PlaceListMapTemplate
Możesz pozwolić kierowcom na odświeżanie treści jednym kliknięciem podczas przeglądania
Listy miejsc zbudowanych za pomocą
PlaceListMapTemplate
Zaimplementuj tag
OnContentRefreshListener
onContentRefreshRequested
interfejsu
i metody
PlaceListMapTemplate.Builder.setOnContentRefreshListener
, aby ustawić detektor w szablonie i włączyć odświeżanie listy.
Ten fragment kodu pokazuje, jak ustawić detektor 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 jest widoczny tylko w nagłówku sekcji
PlaceListMapTemplate
, jeśli detektor ma wartość.
Gdy użytkownik kliknie przycisk odświeżania, onContentRefreshRequested
metody implementacji OnContentRefreshListener
. W ciągu
onContentRefreshRequested
, wywołaj
Screen.invalidate
.
. Host następnie oddzwoni do Twojej aplikacji
Screen.onGetTemplate
do pobrania szablonu z odświeżoną treścią. Patrz sekcja Odświeżanie
zawartość szablonu, aby dowiedzieć się więcej o tym,
odświeżenie szablonów. Jeśli następny szablon zwrócony przez onGetTemplate
jest tego samego typu, jest liczone jako odświeżenie i nie jest liczone
limit szablonu.
Integracja z Asystentem Google za pomocą akcji w aplikacji
Włączaj głosowo aplikację ważnych miejsc, używając Asystenta, by umożliwić użytkownikom wyszukiwanie punktów zainteresowanie, zadając na przykład „OK Google, znajdź stacje ładowania w pobliżu PrzykładowaAplikacja”. Szczegółowe instrukcje znajdziesz w artykule Działania w aplikacji w samochodach.