如果你正在等Uber司机的到来,你可能一直盯着Uber应用,或者不时下拉通知面板查看司机的位置。然而,使用iPhone的朋友们不需要一直保持Uber应用打开或手动检查通知,因为Uber已经支持iOS的实时活动(Live Activities)。目前,Android缺少与实时活动等效的功能,但随着Android 16的发布,这一情况将会改变,引入了“实时更新”(Live Updates)功能。
iOS中的实时活动是一种通知形式,显示经常更新的信息,比如航班状态、共享乘车、快递或体育赛事的动态。实时活动会显示在iPhone的动态岛(Dynamic Island)和锁屏上,便于查看。Android提供了多种通知类型,包括头条通知(heads-up notifications),这种通知会短暂地出现在状态栏上方的浮动窗口中。与实时活动不同,头条通知需要多个独立的通知来显示频繁更新,这可能会显得打扰人。而Android 16中的新功能“实时更新”旨在解决这一限制。
在宣布Android 16 Beta 1的博客文章中,Google并没有分享太多关于这一功能的细节,但这是因为此模式在Beta 1中仅部分实现。Android 16 Beta 1仅引入了对进度相关通知的支持,这是一种新的通知样式,用于显示像共享乘车接送、食物配送送达或下一个转弯的距离等进度。开发者可以使用这种新的通知样式,通过进度条上的点和段来表示用户在旅程中的状态和里程碑。
如果这听起来对你来说没什么新鲜的,我不怪你。毕竟,像Uber这样的共享乘车应用已经展示了类似的通知多年了。然而,Uber为了在Android上使其通知看起来像这样,做了很多定制化工作。Google基本上创建了一个标准化版本,来实现Uber一直在做的事情。通过Android 16中的新的进度相关通知,任何应用都可以创建像Uber这样的通知。
更重要的是,进度相关的通知将会在锁屏上更显眼地显示。考虑到Google正在为Android 16开发一个新的紧凑型通知架,这一点尤其重要。当新的紧凑选项启用时,通知将被折叠到一个架子里,用户需要点击才能展开。进度相关通知,即实时更新,可能不会和其他通知一起折叠到这个架子中。
虽然我不能确认这一定是这样,但我在Android 16 Beta 1中发现的字符串暗示,实时更新将始终显示在锁屏上。操作系统目前并没有将这一类新通知称为实时更新,而是称之为实时通知。然而,这很可能只是一个早期的复制版本,实际上它指的就是同一个功能。
<string name="live_notifications">Live notifications</string>
<string name="live_notifications_desc">Pinned notifications display live info from apps, and always appear on the status bar and lock screen</string>
<string name="live_notifications_switch">Show live info</string>
这些字符串有趣之处在于,它们还提到实时通知将始终出现在状态栏上。Google的博客文章没有提到实时更新在状态栏上的位置,但Android开发者文档中提到,推广/实时通知可能会“以芯片形式显示在状态栏中,和/或永久出现在常显显示屏上。”
这与我之前关于丰富持续通知API的报道相符。今年10月,我发现了一个隐藏的命令行界面,允许我创建带有可自定义应用图标、文本和背景颜色的模拟实时通知。这些模拟通知以芯片的形式出现在状态栏中,如下图所示。
鉴于Android开发者文档中提到的状态栏芯片,Live Updates很可能会以状态栏芯片的形式出现。它们还会显示在常亮显示屏上,这点很有意思。Google尚未分享任何关于如何将进度为中心的通知以芯片形式显示在状态栏或常亮显示屏上的信息,因此我们不确定在Android 16 Beta 1中是否已经可以实现这一功能。这个功能显然仍在开发中,所以我们可能需要等到未来的Beta版本,才能看到Live Updates的完整功能。