Создайте приложение с прогнозом погоды

Приложения для просмотра погоды позволяют пользователям видеть актуальную информацию о погоде в текущем местоположении или на маршруте. Приложения о погоде также могут предоставлять функции навигации. Подробнее о том, как создавать приложения для навигации в автомобилях…

Укажите категорию "Погода" в манифесте

В фильтре интентов элемента CarAppService вашего приложения должна быть объявлена androidx.car.app.category.WEATHER категория приложения для автомобилей.

<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>

Объявить о поддержке навигации

Если ваше приложение также можно использовать для навигации, при объявлении его категории необходимо следовать руководству по объявлению поддержки навигации в манифесте. Фильтр интентов, используемый для объявления категории приложения, должен включать обе категории:

<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>

Реализуйте функции приложения

Чтобы реализовать приложение, ознакомьтесь с информацией о том, как создаются приложения Car App Library, в статье Использование библиотеки приложений Android for Cars. Также ознакомьтесь с рекомендациями по обеспечению качества приложений для автомобилей, так как мы будем проверять ваш продукт на соответствие им.

Рисование карт

Приложениям для прогноза погоды доступен шаблон MapWithContentTemplate, который можно использовать для показа списков и других типов контента рядом с картой, отрисованной вашим приложением. Подробнее о том, как использовать этот шаблон…

Чтобы получить доступ к шаблону, в файле AndroidManifest.xml приложения необходимо объявить разрешение androidx.car.app.MAP_TEMPLATES или androidx.car.app.NAVIGATION_TEMPLATES.

<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>