设置项目

本页面介绍了如何安装 Car App 库,以及如何为应用配置清单文件。

安装 Car App 库

如需将该库添加到您的应用,请参阅 Jetpack 库发布页面

配置应用的清单文件

您必须先配置应用的 清单文件,然后才能创建汽车应用。

声明 CarAppService

主机通过您的 CarAppService 实现连接到您的应用。 您可以在清单中声明此服务,以便主机发现并连接到您的应用。

您还需要在应用的 intent 过滤器的 <category> 元素中声明应用的类别。请查看支持的应用类别的列表,了解此元素允许的 值。

以下代码段展示了如何在清单中为地图注点应用声明汽车应用服务:

<application>
    ...
   <service
       ...
        android:name=".MyCarAppService"
        android:exported="true">
      <intent-filter>
        <action android:name="androidx.car.app.CarAppService"/>
        <category android:name="androidx.car.app.category.POI"/>
      </intent-filter>
    </service>

    ...
<application>

支持的应用类别

当您按照 声明 CarAppService 中的说明声明 CarAppService 时,还必须通过 在 intent 过滤器中添加以下一个或多个值来声明应用的类别。

如需详细了解各个类别以及符合相应类别所需的条件,请参阅 Android 车载应用质量

指定应用名称和图标

如需在系统界面中表示您的应用,carPermissionActivityLayout 必须为主机指定应用名称和图标。使用 labelicon 属性来指定主机用于表示您的应用的应用名称和 图标:CarAppService

...
<service
   android:name=".MyCarAppService"
   android:exported="true"
   android:label="@string/my_app_name"
   android:icon="@drawable/my_app_icon">
   ...
</service>
...

如果您未在 <service> 元素中声明标签或图标,主机将回退使用 <application> 元素中指定的值。

设置自定义主题

如需为您的汽车应用设置自定义主题,请执行以下操作:

  1. 在清单文件中添加 <meta-data> 元素:

    <meta-data
        android:name="androidx.car.app.theme"
        android:resource="@style/MyCarAppTheme />
    
  2. 声明您的 样式资源,以便为您的自定义汽车 应用主题设置属性:

    <resources>
      <style name="MyCarAppTheme">
        <item name="carColorPrimary">@color/my_primary_car_color</item>
        <item name="carColorPrimaryDark">@color/my_primary_dark_car_color</item>
        <item name="carColorSecondary">@color/my_secondary_car_color</item>
        <item name="carColorSecondaryDark">@color/my_secondary_dark_car_color</item>
        <item name="carPermissionActivityLayout">@layout/my_custom_background</item>
      </style>
    </resources>
    

汽车应用 API 级别

汽车应用库定义了自己的 API 级别,以便您了解车辆上的模板主机支持库的哪些功能。 如需检索主机支持的最高汽车应用 API 级别,请使用 getCarAppApiLevel() 方法。

AndroidManifest.xml 文件中声明应用支持的最低汽车应用 API 级别:

<manifest ...>
    <application ...>
        <meta-data
            android:name="androidx.car.app.minCarApiLevel"
            android:value="1"/>
    </application>
</manifest>

如需详细了解如何保持向后兼容性以及声明 使用某个功能所需的最低 API 级别,请参阅 RequiresCarApi注释文档。如需了解使用汽车应用库的特定功能所需的 API 级别,请参阅 CarAppApiLevels参考文档。