Na tej stronie dowiesz się, jak zainstalować bibliotekę aplikacji samochodowych i skonfigurować plik manifestu aplikacji.
Instalowanie biblioteki aplikacji samochodowych
Aby dodać bibliotekę do aplikacji, zapoznaj się ze stroną z informacjami o wersji biblioteki Jetpack.
Konfigurowanie plików manifestu aplikacji
Zanim utworzysz aplikację na samochód, musisz skonfigurować pliki manifestu aplikacji.
Zadeklaruj CarAppService
Host łączy się z Twoją aplikacją za pomocą implementacji CarAppService.
Deklarujesz tę usługę w pliku manifestu, aby host mógł wykryć Twoją aplikację i się z nią połączyć.
Musisz też zadeklarować kategorię aplikacji w elemencie <category> filtra intencji aplikacji. Listę obsługiwanych kategorii aplikacji znajdziesz w sekcji wartości dozwolonych w przypadku tego elementu.
Ten fragment kodu pokazuje, jak zadeklarować usługę aplikacji samochodowej dla aplikacji z punktami zainteresowania w pliku manifestu:
<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>
Obsługiwane kategorie aplikacji
Gdy zadeklarujesz CarAppService zgodnie z opisem w sekcji Deklarowanie usługi CarAppService, musisz też zadeklarować kategorię aplikacji, dodając w filtrze intencji co najmniej jedną z tych wartości.
androidx.car.app.category.NAVIGATION: podaje szczegółowe wskazówki nawigacyjne. Przeczytaj artykuł Tworzenie aplikacji nawigacyjnych dla samochodów.androidx.car.app.category.POI: zapewnia funkcje związane ze znajdowaniem interesujących miejsc, takich jak miejsca parkingowe, stacje ładowania i stacje benzynowe. Zobacz artykuł o tworzeniu aplikacji z ciekawymi miejscami dla samochodów.androidx.car.app.category.IOT: umożliwia użytkownikom wykonywanie odpowiednich działań na podłączonych urządzeniach z poziomu samochodu. Zobacz Tworzenie aplikacji internetu rzeczy dla samochodów.androidx.car.app.category.WEATHER: umożliwia użytkownikom wyświetlanie istotnych informacji o pogodzie związanych z ich bieżącą lokalizacją lub trasą. Zobacz Tworzenie aplikacji pogodowych na samochody.androidx.car.app.category.MEDIA: umożliwia użytkownikom przeglądanie i odtwarzanie muzyki, radia, audiobooków i innych treści audio w samochodzie. Zobacz Tworzenie aplikacji multimedialnych opartych na szablonach na potrzeby samochodów.androidx.car.app.category.MESSAGING: umożliwia użytkownikom komunikowanie się za pomocą krótkich wiadomości tekstowych. Zobacz Tworzenie opartych na szablonach wiadomości na Androida Auto.androidx.car.app.category.CALLING: umożliwia użytkownikom komunikowanie się za pomocą połączeń głosowych. Zobacz Tworzenie funkcji połączeń dla Androida Auto.
Szczegółowe opisy poszczególnych kategorii i kryteria, które należy spełnić, aby się do nich zakwalifikować, znajdziesz w artykule Jakość aplikacji samochodowych na Androida.
Określanie nazwy i ikony aplikacji
Aby reprezentować aplikację w interfejsie systemu, carPermissionActivityLayout musi określić nazwę aplikacji i ikonę hosta. Użyj atrybutów label i icon elementu CarAppService, aby określić nazwę aplikacji i ikonę używaną przez hosta do reprezentowania Twojej aplikacji:
...
<service
android:name=".MyCarAppService"
android:exported="true"
android:label="@string/my_app_name"
android:icon="@drawable/my_app_icon">
...
</service>
...
Jeśli nie zadeklarujesz etykiety ani ikony w elemencie <service>, host
przyjmie wartości określone przez element <application>.
Ustawianie motywu niestandardowego
Aby ustawić niestandardowy motyw aplikacji w samochodzie:
Dodaj element
<meta-data>do pliku manifestu:<meta-data android:name="androidx.car.app.theme" android:resource="@style/MyCarAppTheme />Zadeklaruj zasób stylu, aby ustawić atrybuty niestandardowego motywu aplikacji samochodowej:
<resources> <style name="MyCarAppTheme"> <item name="carColorPrimary">@color/my_primary_car_color</item> <item name="carColorPrimaryDark">@color/my_primary_dark_car_color</item> <item name="carColorSecondary">@color/my_secondary_car_color</item> <item name="carColorSecondaryDark">@color/my_secondary_dark_car_color</item> <item name="carPermissionActivityLayout">@layout/my_custom_background</item> </style> </resources>