Aplikacje pogodowe umożliwiają użytkownikom wyświetlanie informacji o pogodzie związanych z ich bieżącą lokalizacją lub trasą. Aplikacje pogodowe mogą też zapewniać funkcje nawigacji. Więcej informacji o tworzeniu aplikacji nawigacyjnych znajdziesz w artykule Tworzenie aplikacji nawigacyjnych dla samochodów.
Zadeklaruj kategorię pogody w pliku manifestu
Aplikacja musi deklarować 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>
Zadeklaruj obsługę nawigacji
Jeśli Twoja aplikacja może służyć też do nawigacji, musi być zgodna z deklaracją obsługi nawigacji w pliku manifestu. Filtr intencji używany do deklarowania kategorii aplikacji powinien zawierać 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 Android do samochodu, w którym opisano sposób tworzenia aplikacji z biblioteki aplikacji do samochodu. Zapoznaj się też ze wskazówkami dotyczącymi jakości aplikacji samochodowych, ponieważ Twoja aplikacja zostanie sprawdzona pod kątem zgodności z tymi wskazówkami.
Rysowanie map
Aplikacje pogodowe mogą uzyskiwać dostęp do okna MapWithContentTemplate
, które można wykorzystać 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 sekcji 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>