资讯详情

android通过代码设置铃声_更接地气的定制 ROM,还有哪些特性可以向原生 Android 借鉴?

b45763adb9d7cbe23f3b27df11d8864d.png

2019 年 7 月月曾写过一篇文章揭露 Android 定制系统「阉割」密码管理器现象的文章,虽然从我自己微不足道的影响出发,甚至不算「揭露」,但 2020 年我在用的 ColorOS 7 和 MIUI 12 拥有完整的自动填充框架和第三方密码管理器支持,这仍然给了我信心。

不过在去年 7 月到今年 5 本月密集使用国内定制 UI 在与朋友沟通使用体验的过程中,我发现了更多类似于上述自动填充框架的问题——定制 UI 理想状态是「以原生为基础,优于原生」,然而,我们仍然发现许多原始比例定制 UI 做得更好的地方。在从出身到定制的过程中,可能是为了照顾自己的用户习惯,也可能是因为缺乏开发能力,这些功能和以前的自动填充框架一样无情「被砍」。

作为一个一直对原生的人, Android 保持高度关注的用户,我将在本文中分享一些我认为定制的用户 UI 可以向原生 Android「靠拢」的地方。

关联阅读:这个国内厂商不应该「阉割」每次不用手动输入密码的功能

无需跳转的常用设置面板

在 Android 10 中,Google 引入一个名字「设置面板(settings panels)」的 API,借助这个 API,应用程序可以在应用程序中直接显示系统设置。

在 Google 假设场景中有一种情况:当我们打开网络浏览器时,我们发现设备已经打开了飞行模式,应用程序只能通过弹出窗口或 toast 通知要求我们设置打开网络连接开关- Android 10 此时,应用程序可以直接显示设置面板,允许我们快速更改主要的连接设置,如飞行模式,WLAN、无需在应用程序和系统设置之间来回跳转移动数据等。

这个功能和 Google 乍一看,想象中的场景似乎是鸡肋。毕竟,在上述情况下,大多数人实际上会选择快速设置面板来完成网络连接设置。然而,在一些严格要求网络条件并需要我们决定网络连接类型的情况下,如网络磁盘备份、游戏更新等,直接在应用程序中弹出的设置面板实际上可以使我们的操作更加方便和麻烦。

但是,我们建议制造商好好利用这个 API 还有一个更重要的原因,那就是下一步要介绍的音量调节。

音量调节方法更方便

媒体、电话、闹钟、通知……我们对移动设备音量调节的需求不亚于计算机,但在早期,许多人学习和模仿 iOS 的定制 UI 在音量调节这件事情上也基本照抄,音量调节功能在近两年才得到足够的重视。

此时,原生 Android 特别值得借鉴。

一方面,当您按下音量调节键时,默认调节的音量是当前播放的音量

假如你在刷 YouTube,此时调节的应该是媒体音量;如果你的闹钟响了,此时调节的应该是闹钟音量;如果有人给你打电话,此时调节的应该是铃声音量……在原生 Android 在错误的时间点打开错误的视频,按下音量减少,我们几乎不会遇到铃声音量而不是媒体播放音量的尴尬。

此外 Android 该系统还将根据当前设备的连接状态进一步做出决定。当手机接入多个蓝牙设备时,按下音量键优先调整播放音量,而不是闲置的蓝牙设备。

另一方面,基于上述设置面板 API,Android 10 音量调节扩展面板也进一步引入。调整音量时,点击控制条下方的设置按钮展开扩展面板,可视为「系统设置 > 声音」界面的「微缩版」,允许我们直接调整各种音频输出的音量。

最后,鉴于上述多个音频播放设备的连接,我们也可以直接在这个扩展面板中切换音频输出设备。

更好地理解使用场景的屏幕旋转

Android 9 Pie 同时发布,Android 熟悉用户「三大金刚」同时返回和返回主屏(Home)、最近任务概览(Recents)两种功能的「小药丸」但当时屏幕底部的导航栏按键区域仍然存在,Google 于是灵机一动,把最近任务概览按钮留下的空间留给了一个新功能——强制转屏。

这里的考虑很简单,Android 默认的屏幕自动旋转功能不是很好「通人性」为了避免侧躺玩手机屏幕内容影响观看体验,许多人经常关闭手机的自动旋转功能;但当我们需要查看日常使用中的照片和电影时,我们必须打开快速设置面板并手动打开「自动旋转」了。

强制转屏功能简单「转不转」全年关闭的权利完全交给了那些全年关闭的权利「自动旋转」用户-当系统获取陀螺仪等传感器的手机旋转数据时,Android 该系统将显示一个按钮,可用于强制切换屏幕底部的水平和垂直屏幕显示。

如果你只是在睡觉前玩手机,你不必忽这个按钮,它会在几秒钟内自动消失;如果你真的偶尔需要水平屏幕显示内容「反自动旋转功能」点击此按钮,用户可以避免下拉并快速设置面板找到开关的麻烦。

在最新的 Android 10 在中间,强制旋转按钮从底部导航栏迁移到屏幕下角,风格从矩形按钮转变为圆形图标,但实用性仍然存在。国内定制 UI 由于此前采用的全面屏手势方案大多不包含屏幕导航栏设计,这个强制转屏按钮也就没了踪影。

自动亮度调节的学习能力

iOS 用户转战 Android 除了阵营后经常怀念的东西,除了阵营后经常怀念的东西 iMessage,还有 iOS 优良的自动亮度调节——Android 这边和「通情达理」自动亮度调节多年来一直被用户嘲笑。

在 Android 9 以前,自动亮度调节的简单工作流程应为:

  1. 根据手机制造商的实际环境光和内置亮度调节曲线,自动将屏幕亮度调整到特定值
  2. 用户根据实际情况:向左拉滑块,产生负比系数,使屏幕亮度低于厂家预设值(感觉手机屏幕太亮),产生正比系数,使屏幕亮度高于厂家预设值(感觉手机屏幕不够亮)

不难发现,这种自动亮度调节机制必然会带来两个问题:一方面,制造商内置的亮度调节曲线本身不科学,缺乏调整;另一方面,我们的亮度选择偏好(拖动滑块)无法学习和记忆。

这两个问题叠加在一起,堪称「灾难级」自动亮度体验-由于早期机器学习在移动设备中没有得到广泛应用,制造商内置的亮度调节曲线无法给出我们想要的结果,Android 系统无法记住我们的实际亮度偏好。每次自动亮度出现问题,我们都需要手动拉滑块。

优秀的自动亮度调节机制很少需要,甚至不需要手动干预。为了改善 Android 平台亮度调节体验,Google 在 Android 9 对上述自动亮度问题进行了两个方面的改进:

  • 将亮度控制滑块所代表的控制目标从全局调整系数改为绝对屏幕亮度
  • 借助本地机器学习,个性化调优亮度映射关系

第一点是将自动亮度开启前提下的绝对亮度控制权完全交给用户。例如,当系统认为与当前环境相匹配的绝对亮度是最高亮度时 70% 时:在 Android 9 在之前的版本中,我们可以将亮度滑块拉到最右边获得亮度70%*正比例系数;在 Android 9 在接下来的版本中,我们将亮度滑块拉到最右边可以获得的亮度 100%

第二点则让 Android 系统记住了用户在特定使用场景下的亮度选择倾向:玩游戏时喜欢将屏幕亮度调整到最高,制造商预设的最低亮度对您来说太暗了……根据上述绝对亮度的直接控制,我们手动操作亮度控制滑块的次数理论上会随着使用时间的增加而减少。

说了这么多,你会发现即使厂家给出的预设亮度调节曲线不合理,Android 9 自动亮度绝对亮度的调整,自动亮度学习特性也可以具备「越用越懂你」自动亮度调节能力。所幸在今年发布的国产旗舰手机中我们已经看到了基于这种思路的自动亮度调节算法,如 Find X2、小米 10 系列等,机器学习算法是否好用还有待验证,但这种调整方向和解决方案绝对值得借鉴。

更灵活的通知交互方式

虽然市场上大多数型号的底层版本都升级到了 Android 10,Google 自 8.0 以来为 Android 系统介绍的通知延迟功能很多 OEM 制造商的定制系统仍然缺席。

通知延迟不是一个无关紧要的小功能,所以当 Google 在 Android 11 DP2 移除后立即引起开发者和用户的不满,并随后发布 Android DP3 以开关的形式添加此特性。

在原生 Android 8.0 在版本的设备上,我们可以延迟应用程序发出的通知,只需在相应的通知上向左或向右扫描,然后点击时钟 延迟操作可以通过图标完成。

该功能的应用场景也相当灵活。在它的帮助下,我们可以很容易地管理那些没有时间处理但害怕意外清除的通知;此外,对于那些没有 FCM 对于推送应用程序,系统级的延迟功能也可以帮助它们突破应用程序本身的限制,并在指定时间后在我们的通知栏中重新出现。

除通知延迟外,Android 10 引入的「智能回复」目前目前在国内定制 ROM 也很少有应用——这个特性可以根据通知内容在应用通知下灵活给出作建议,不管是快速恢复还是调用其他应用一键直达都非常方便,具体的介绍我们在此前的文章里已经有过提及,这里就不再赘述了。

关联阅读:Android 10 里有哪些「用了就回不去」的好功能?

小结

在厂商定制、打磨 手机系统体验的过程中总有这样那样的细节容易被忽视,但依然有值得肯定的地方,甚至不乏将本文所提到的功能和特性利用、再创新得可谓绝妙的,如 Flyme 的强制转屏、MIUI 12 的分应用音量调节和越来越多的 Android 厂商都逐渐开始重视的 AI 自动亮度算法等等。

你最希望 Android 厂商在定制 Android 体验的过程中保留哪些功能?欢迎在评论区留下你的看法。

@玖工格 对本文的创作思路亦有贡献。

标签: 传感器dp2

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台