Criar um app de clima

Os apps de clima permitem que os usuários vejam informações relevantes sobre o clima relacionado ao local atual ou ao trajeto. Os apps de clima também podem oferecer recursos de navegação. Consulte Criar apps de navegação para carros para mais detalhes sobre como criar apps de navegação.

Declarar a categoria de clima no manifesto

O app precisa declarar a categoria de app para carros androidx.car.app.category.WEATHER no filtro de intent da classe 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>

Declarar suporte à navegação

Se o app também puder ser usado para navegação, ele também precisará seguir as orientações encontradas em Declarar suporte à navegação no manifesto ao declarar a categoria. O filtro de intent usado para declarar a categoria do app precisa incluir as duas categorias:

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

Implementar a funcionalidade do app

Para implementar o app, consulte Como usar a biblioteca Android for Cars App sobre como os apps da biblioteca são criados. Além disso, leia as Diretrizes de qualidade de apps de carros para apps de clima, já que o app será analisado de acordo com essas diretrizes.

Desenhar mapas

Os apps de clima podem acessar o MapWithContentTemplate, que pode ser usado para exibir listas e outros tipos de conteúdo ao lado de um mapa renderizado pelo app. Consulte Desenhar mapas para mais detalhes sobre o uso desse modelo.

Para acessar o modelo, seu app precisa declarar a permissão androidx.car.app.MAP_TEMPLATES ou androidx.car.app.NAVIGATION_TEMPLATES no arquivo 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>