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.