构建天气应用

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

在清单中声明天气类别

您的应用必须在其 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>