Aplikacje pogodowe umożliwiają użytkownikom wyświetlanie informacji o pogodzie związanych z ich bieżącą lokalizacją lub trasą. Aplikacje pogodowe mogą też mieć funkcje nawigacyjne. Więcej informacji o tworzeniu aplikacji nawigacyjnych znajdziesz w artykule Tworzenie aplikacji nawigacyjnych dla samochodów.
Zadeklaruj kategorię pogody w pliku manifestu
Aplikacja musi zadeklarować androidx.car.app.category.WEATHER
kategorię aplikacji samochodowej w filtrze intencji CarAppService
.
<application>
...
<service
...
android:name=".MyCarAppService"
android:exported="true">
<intent-filter>
<action android:name="androidx.car.app.CarAppService" />
<category android:name="androidx.car.app.category.WEATHER"/>
</intent-filter>
</service>
...
<application>
Deklarowanie obsługi nawigacji (opcjonalnie)
Jeśli Twoja aplikacja może służyć też do nawigacji, musi być zgodna z wytycznymi Zadeklaruj obsługę nawigacji w pliku manifestu podczas deklarowania kategorii. Filtr intencji używany do zadeklarowania kategorii aplikacji powinien obejmować obie kategorie:
<intent-filter>
<action android:name="androidx.car.app.CarAppService" />
<category android:name="androidx.car.app.category.WEATHER"/>
<category android:name="androidx.car.app.category.NAVIGATION"/>
</intent-filter>
Wdrażanie funkcji aplikacji
Aby wdrożyć aplikację, zapoznaj się z artykułem Korzystanie z biblioteki aplikacji Androida do samochodu, w którym opisano proces tworzenia aplikacji z biblioteki. Zapoznaj się też ze wskazówkami dotyczącymi jakości aplikacji na potrzeby samochodów, ponieważ Twoja aplikacja zostanie sprawdzona pod kątem zgodności z tymi wskazówkami.
Rysowanie map
Aplikacje pogodowe mogą korzystać z elementu MapWithContentTemplate
, który 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 szablonu, aplikacja musi zadeklarować uprawnienie androidx.car.app.MAP_TEMPLATES
lub androidx.car.app.NAVIGATION_TEMPLATES
w pliku AndroidManifest.xml
:
<manifest ...>
...
<!-- Use the MAP_TEMPLATES permission if your app doesn't provide navigation functionality -->
<uses-permission android:name="androidx.car.app.MAP_TEMPLATES"/>
<!-- Use the NAVIGATION_TEMPLATES permission if your app provides navigation functionality -->
<uses-permission android:name="androidx.car.app.NAVIGATION_TEMPLATES"/>
...
</manifest>