节流和抑制通知

为了减少驾车时分心的情况,浮动通知 (HUN) 会向驾驶员提供必要的相关信息,驾驶员则无需将注意力转移到显示屏或移动设备上。不过,由于 HUN 可能会干扰驾驶任务,因此务必要考虑 HUN 的优点和缺点,以确保驾驶员不会分心。

使用这些 Android 通知专属安全功能可减少驾驶员分心:

本文档介绍了与 platform/packages/apps/Car/Notification 相关的配置和资源。

排队和确定优先级

收到多个传入的 HUN 时,“排队和确定优先级”机制会向驾驶员显示最重要的相关信息。

如需启用或停用排队机制,请为 config_suppressAndThrottleHeadsUp config 设置布尔值。

已加入队列的 HUN 会根据按照通知类别确定的优先级进行排序。按优先级降序指定 headsup_category_priority 数组。

某些具有时效性的通知(例如 CATEGORY_CALLCATEGORY_CAR_EMERGENCY)应立即显示,而不是加入队列。

如需立即显示这些类型的 HUN,请将这些类别添加到 headsup_category_immediate_show 数组中。

节流和节奏

如果当用户执行某项操作时(例如与 Google 助理或拨号器互动),显示 HUN 会造成不安全或分心的情况,您可以限制 HUN。

如需使用节流功能,请将需要注意的应用的软件包名称添加到许可名单 (headsup_throttled_foreground_packages) 中。这样一来,当指定的应用在前台运行时,队列便不会显示新的 HUN。

为了让驾驶员有时间专注于驾驶,请在每次显示 HUN 之间添加时间间隔。此时间间隔 (headsup_delay_duration) 适用于将 headsup_throttled_foreground_packages 中的软件包移至后台后的情况。

抑制

在队列中停留较长时间的 HUN 可能会被抑制。当 HUN 与驾驶员无关时,可能会造成分心。因此,请将过期通知直接发送到通知中心,而不是触发 HUN。您可以通过为驾车停车状态指定不同的值,来定制对 HUN 的管理方式。

对于驾车状态:

  1. config_expireHeadsUpWhenDriving 设为 true,并将 headsup_queue_expire_driving_duration_ms 指定为从通知发布到通知过期的时间长度(以毫秒为单位)。

对于停车状态:

  1. config_expireHeadsUpWhenParked 设为 true,并将 headsup_queue_expire_parked_duration_ms 指定为从通知发布到通知过期的时间长度(以毫秒为单位)。

如果发生抑制,请发送尾随的系统 HUN 以通知驾驶员。可以通过更新 hun_suppression_notification_title_drivehun_suppression_notification_title_park 的值来修改此通知的标题

如需在打开通知中心时自动关闭 HUN 队列,请执行以下操作:

  1. config_dismissHeadsUpWhenNotificationCenterOpens 布尔值设为 true