概览

下一代车辆支持多个屏幕,其中一些屏幕可能由Android操作以提供丰富的内容。本页介绍了将仪表板和其他显示器集成到 Android 汽车 IVI 系统中的关键要素。

Android 中的外部显示器

Android 10 使用android.app.Presentation API 来支持外部显示器的使用。演示文稿是一个独特的对话框,其目的是在辅助显示器上呈现内容。演示文稿在创建时与目标显示相关联,并根据显示指标配置其上下文和资源配置。

仪表盘显示

演示 API 对于典型的仪表组显示来说已经足够了,它具有以下优点:

样品展示
图1 。仪表盘显示示例

演示 API 不需要:

  • 单独的音频焦点。
  • 运行整个活动或应用程序。
  • 考虑并发用户输入。
  • 处理触摸事件。

要了解有关使用多个显示器的更多信息,请参阅多显示器概述

先决条件:熟悉 Android WindowManager的先前开发会很有帮助。

支持的内容类型

有些车辆可能不希望 Android 直接绘制仪表组图形,但仍希望显示路线导航或音乐标题等信息。 Android 可以通过多种方式发送此类数据。 Android 设备可以将仪表组内容发送为:

  • 基于元数据,例如通过CarVendorExtensionManagerVehicleNetworkService通过 CAN 发送消息。仪表组系统必须根据元数据创建适当的图形。
  • 以图形为基础,以物理或虚拟方式显示。该显示器可以是仪表组内的专用显示器,或者是全图形仪表组显示器的一部分。

基于图形的仪表板显示屏的硬件架构示例:

显示配置

图 2. Android Automotive 基于图形的仪表组显示示例。

安全关键(负责渲染仪表板)和 Android 操作系统可能驻留在同一个多核 SoC 上(例如,专用于实时操作系统的 Cortex-R 和用于 Android 的 Cortex-A)。接口可以是以太网 AVB(音频视频桥)、LVDS 或 HDMI。在 Android 中,图形仪表板可以作为虚拟显示器连接,将硬件架构隐藏在Display HAL实现后面。

后座限制

对于后座娱乐,演示 API 具有以下限制:

  • 无法投影整个活动(演示文稿是一个对话框)。
  • 只有一个音频焦点可用。
  • 没有并发用户。
  • 外部显示器没有直接触摸事件(需要单独的注入流程)。