Android 16 引入了以进度为中心的通知,可帮助用户无缝跟踪用户发起、从开始到结束的行程。
Notification.ProgressStyle
是一种新的通知样式,可让您创建以进度为中心的通知。主要用例包括叫车、配送和导航。在 Notification.ProgressStyle
类中,您可以使用 点和 段来表示用户行程中的状态和里程碑。

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

在通知栏中显示的以进度为中心的通知。
相关类和方法
以下类包含用于构建 ProgressStyle
通知所需的不同 API
结构和自定义
以下图片显示了构成 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)
)
)
请注意,在此示例中,为跟踪器图标设置了车辆图片,并使用段和点来表示叫车体验和里程碑,以提供更完整的用户体验。
查看示例应用了解更多信息。