2019年7月,我写了一篇文章,揭露了安卓定制系统中“阉割”密码管理器的现象。虽然这样的文章甚至不是从我自己微不足道的影响力中“暴露”出来的,但我在2020年使用的ColorOS 7和MIUI 12都已经有了完整的自动填充框架和第三方密码管理器支持,这还是给了我信心。
但是在去年7月到今年5月国内定制UI的密集使用过程中,我发现了更多类似上面提到的自动填充框架的问题——定制UI的理想状态是“原生为主,优于原生”,但我们还是发现了很多原生UI优于定制UI的地方。在从原生到定制的过程中,或许是出于对自己用户使用习惯的照顾,又或许是缺乏开发能力,这些功能就像早期的自动填充框架一样被无情地“砍掉”。
作为一个一直关注原生安卓的用户,在本文中,我将分享一些我认为定制UI可以“接近”原生安卓的地方。
“这个国内厂商不应该“阉割”功能,这样就不用每次都手动输入密码”:sspai.com/post/55825
▍常用设置面板无跳转
在Android 10中,谷歌引入了一个名为“设置面板”的API。有了这个API,应用程序可以直接在应用程序中向我们显示系统设置。
在谷歌设想的场景中,当我们打开网络浏览器时,我们发现设备已经开启了飞行模式。此时,应用程序只能通过弹出窗口或吐司通知来要求我们设置开关打开网络连接。在安卓10中,应用程序此时可以直接显示一个设置面板,让我们可以快速更改主要的连接设置,比如飞行模式、WLAN、移动数据等。,而无需在应用程序和系统设置之间来回跳转。
可以在不离开应用程序的情况下进行基本设置
乍一看,这个功能和谷歌设想的场景似乎有些鸡肋。毕竟,在上面的场景中,大多数人实际上选择快速设置面板来完成网络连接设置。但是在一些网络条件比较严格,我们需要决定网络连接类型的情况下,比如网盘备份,游戏更新等。,应用程序中直接弹出的设置面板实际上可以让我们的操作更加方便和容易。
不过,我们建议厂商好好利用这个API还有一个更重要的原因,那就是接下来要推出的成交量调整。
▍调节音量的方法更方便
媒体、呼叫、报警、通知...我们对移动设备到电脑的音量调节并没有失去任何需求,但早年很多学习模仿iOS的定制UIS基本都是照搬音量调节,音量调节功能也只是近两年才得到足够的重视。
在这一点上,原生安卓的做法特别值得借鉴。
一方面,当您按下音量调节按钮时,默认调节的音量是当前播放的音量。
如果是刷YouTube,此时要调整媒体音量;如果你的闹钟响了,此时应该调整闹钟的音量;如果有人打电话给你,此时应该调整铃声音量...在原生安卓上,我们几乎不会遇到在错误的时间打开错误的视频并按下音量降低键的尴尬,却发现调整的是铃声音量而不是媒体音量。
此外,安卓系统将根据当前设备连接状态做出进一步决定。当手机连接多个蓝牙设备时,按下音量按钮会优先调整正在播放的蓝牙设备的播放音量,而不是闲置。
方便快捷的音量调节功能
另一方面,Android 10进一步引入了基于上述设置面板API的音量调节扩展面板。调整音量时,单击控制栏下的设置按钮以展开扩展面板。这个面板可以算是“系统设置>声音”界面的“微缩版”,让我们可以直接独立调节各种音频输出的音量。
最后,鉴于上述多个音频播放设备的连接,我们也可以在这个扩展面板中直接自由切换用于音频输出的设备。
▍更了解屏幕旋转的使用场景
在安卓9 Pie发布的同时,安卓用户熟悉的“三驴金刚”被“小药丸”取代,拥有主屏幕和近期任务概览两大功能,但当时屏幕下方的导航栏按钮区域依然存在,于是谷歌灵机一动,将近期任务概览按钮留下的空位留给了一个新功能——强制转屏。
这里的考虑很简单。安卓系统默认的屏幕自动旋转功能其实并不是很“人性化”:为了避免手机屏幕内容自动横屏影响观看体验,很多人经常关闭手机的自动旋转功能;但是,当我们在日常使用中需要查看照片和电影时,必须打开快速设置面板,手动打开“自动旋转”。
这个开关实际上非常不灵活
强制转屏功能只是把“转身”的权利给了那些常年关闭“自动旋转”的用户。当系统从陀螺仪等传感器获取手机旋转数据时,安卓系统会在屏幕底部显示一个按钮,可以用来强制在水平和垂直屏幕显示之间切换。
当屏幕方向改变时,强制屏幕转移图标
如果睡前只是玩手机,不注意这个按钮,几秒钟后会自动消失;如果你真的是一个偶尔需要水平显示内容的“防自动旋转功能”用户,点击这个按钮可以省去一次拉下快速设置面板找到开关的麻烦。
在最新的安卓10中,强制旋转按钮从底部导航栏移到了屏幕的右下角,样式也从矩形按钮变成了圆形图标,但实用性依旧。但由于此前国内定制UI中采用的综合屏幕手势方案大多不包括屏幕导航栏的设计,这种强制转屏按钮已经消失。
自动亮度等级的▍学习能力
而iOS用户在转到安卓阵营后经常错过的不仅仅是iMessage,还有iOS出色的自动亮度水平,这与安卓上的“合理”无关。
安卓9之前,自动亮度等级的简要工作流程应该是:
手机根据实际环境光情况和手机厂商内置的亮度等级曲线,自动将屏幕亮度等级调至特定值
根据实际情况,用户向左拉动滑块产生负比例系数,使屏幕亮度低于厂家预设值,向右拉动滑块产生正比例系数,使屏幕亮度高于厂家预设值
解构这个过程不难发现,这种自动亮度级机制必然会带来两个问题:一方面,内置亮度级曲线本身不科学,缺乏调整;另一方面,我们的亮度偏好是无法学习和记忆的。
这两个问题结合起来就是一种“灾难级”的自动亮度体验——厂商内置的亮度级曲线无法给我们想要的结果。由于早年机器学习在移动设备上应用并不广泛,安卓系统无法记住我们实际的亮度偏好。每次自动亮度出现问题,我们都需要手动拉动滑块。
出色的自动亮度等级机制需要很少甚至不需要手动干预。为了提升安卓平台的亮度等级体验,谷歌针对安卓9中的上述自动亮度问题做了两项改进:
将亮度控制滑块代表的控制目标从全局调整系数更改为绝对屏幕亮度
基于局部机器学习的亮度映射关系个性化优化
第一点是在自动开启亮度的前提下,给用户绝对的亮度控制权。例如,当系统认为与当前环境匹配的绝对亮度是最高亮度的70%时:在Android 9之前的版本中,我们将亮度滑块拉到最右侧。可以得到的亮度为70%*比例系数;在安卓9之后的版本中,我们可以通过将亮度滑块拉到最右边来获得100%的亮度。
第二点是安卓系统记住了用户在特定使用场景下的亮度选择倾向:玩游戏的时候喜欢把屏幕亮度调到最高,厂商预设的最低亮度对你来说有点太暗了...有了这些使用习惯的记忆和上面提到的绝对亮度的直接控制,我们手动操作亮度控制滑块的次数理论上会随着使用时间的增加而减少。
奇怪的是,这个功能在后续版本中被翻译成了“自动亮度调节”
话虽如此,你会发现,即使厂商给出的预设亮度等级曲线不合理,安卓9的自动亮度学习功能,每调整一次屏幕的绝对亮度,都能拥有“用得越多越懂”的自动亮度等级能力。好在在今年发布的国产旗舰手机中,我们已经看到了基于这种思路的自动亮度等级算法,比如Find X2、小米10系列等。验证各个家族的机器学习算法好不好还需要时间,但这个调整方向和解决方案绝对值得借鉴。
▍更灵活的通知交互
虽然市面上大部分机型的底层版本都升级到了安卓10,但很多OEM定制系统中,依然没有8.0以来谷歌为安卓系统引入的通知延迟功能。
延迟通知不是一个无足轻重的小功能,所以当谷歌在Android 11 DP2中将其移除后,立即引起了开发者和用户的不满,并在后来发布的Android DP3中以switch的形式重新添加了这一功能。
在原生安卓8.0+设备上,我们可以延迟应用发送的通知,只需在相应的通知上向左或向右滑动,然后点击时钟图标即可完成延迟操作。
通知延迟
这个功能的应用场景也相当灵活,有了它我们可以轻松管理那些目前太忙无法处理但又害怕被意外清除的通知;此外,对于那些没有FCM推送的应用,系统级延迟功能也可以帮助它们突破应用自身的限制,在指定的时间段后重新出现在我们的通知栏中。
除了通知延迟外,安卓10推出的“智能回复”功能目前在国内定制ROM中很少使用——该功能可以根据通知内容在应用通知下给出灵活的操作建议,非常方便快速恢复或调用其他应用一键直接访问。前面的文章中我们已经提到了具体的介绍,这里就不再赘述了。
“安卓10有哪些好的功能不能用回去?”:sspai.com/post/56538
通知提供快速操作
▍概要
在厂商定制和打磨手机系统体验的过程中,总有一些细节容易被忽略,但还是有值得肯定的地方,甚至有一些妙招可以利用和创新本文提到的功能和特性,比如Flyme的强制转屏、MIUI 12的音量调节,以及越来越多安卓厂商逐渐关注的AI自动亮度算法。
在定制安卓体验的过程中,你最希望安卓厂商保留哪些功能?欢迎在评论区留下你的看法。
@九宫格也促成了这篇文章的创作思路。