Tworzenie aplikacji pogodowej

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>