以进度为中心的通知

Android 16 引入了以进度为中心的通知,可帮助用户无缝跟踪用户发起、从开始到结束的行程。

Notification.ProgressStyle 是一种新的通知样式,可让您创建以进度为中心的通知。主要用例包括叫车、配送和导航。在 Notification.ProgressStyle 类中,您可以使用 来表示用户行程中的状态和里程碑。

在锁屏界面上显示的以进度为中心的通知。
在通知栏中显示的以进度为中心的通知。

相关类和方法

以下类包含用于构建 ProgressStyle 通知所需的不同 API

结构和自定义

以下图片显示了构成 ProgressStyle 通知的不同部分

ProgressStyle 通知的不同部分。
应用可以为跟踪器图标设置车辆图片,并使用段和点来表示叫车体验和里程碑。

最佳实践

遵循以下最佳实践,以便为用户提供以进度为中心的通知的最佳体验

  • 确保已设置正确的字段以满足推荐可见性
  • 使用正确的视觉元素引导用户完成其行程。例如,叫车应用应使用 Notification#setLargeIcon 设置车辆图片和叫车体验中所用车辆最准确的颜色
  • 使用简洁明了的语言定义用户行程的进度。到达时间、司机姓名和行程状态是应在通知中传达的关键文本信息。
  • 在通知中提供有用且相关的操作,有助于简化用户行程。例如,为新发起的送餐订单提供小费或添加额外的菜品,这些都是在配送前可执行的操作项。
  • 使用来表示状态。例如,使用段来以颜色表示叫车行程中的交通状态和持续时间,并使用点来表示里程碑、备餐、配送和乘客接载等状态。
  • 频繁准确地更新进度体验,以匹配行程的实际进展。例如,交通状况的变化可以反映在段颜色的变化和文本更新中。

以下代码片段展示了如何在叫车场景中使用 ProgressStyle 通知

var ps =
    Notification.ProgressStyle()
        .setStyledByProgress(false)
        .setProgress(456)
        .setProgressTrackerIcon(Icon.createWithResource(appContext, R.drawable.ic_car_red))
        .setProgressSegments(
            listOf(
                Notification.ProgressStyle.Segment(41).setColor(Color.BLACK),
                Notification.ProgressStyle.Segment(552).setColor(Color.YELLOW),
                Notification.ProgressStyle.Segment(253).setColor(Color.WHITE),
                Notification.ProgressStyle.Segment(94).setColor(Color.BLUE)
            )
        )
        .setProgressPoints(
            listOf(
                Notification.ProgressStyle.Point(60).setColor(Color.RED),
                Notification.ProgressStyle.Point(560).setColor(Color.GREEN)
            )
        )

请注意,在此示例中,为跟踪器图标设置了车辆图片,并使用段和点来表示叫车体验和里程碑,以提供更完整的用户体验。

查看示例应用了解更多信息。