构建天气应用

“天气”类别目前处于 Beta 版阶段
目前,任何人都可以将天气应用发布到 Play 商店的内部测试轨道、封闭式测试轨道和开放式测试轨道。我们日后会允许发布到正式版轨道。

借助天气应用,用户可以查看与其当前位置或沿途路线相关的天气信息。天气应用还可以提供导航功能 - 如需详细了解如何构建导航应用,请参阅构建车载导航应用

在清单中声明天气类别

应用需要在其 CarAppService 的 intent 过滤器中声明 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 过滤器应包含这两个类别:

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

实现应用的功能

如要实现您的应用,请参阅使用 Android for Cars 应用库,了解如何构建汽车应用库类别的应用。此外,请务必熟悉针对天气应用的汽车应用质量指南,因为我们将根据这些指南审核您的应用。

绘制地图

天气应用可以访问 MapWithContentTemplate,该模板可用于在由应用渲染的地图上显示列表和其他类型的内容。如需详细了解如何使用此模板,请参阅绘制地图

若要访问该模板,应用需要在其 AndroidManifest.xml 文件中声明 androidx.car.app.MAP_TEMPLATESandroidx.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>