Tasker 根据日出日落自动化暗色模式(以一加为例)
首先要说明,H2OS 11、OxygenOS 11 开始便支持自动化暗色模式。尽管这个需求已经提了很久,但官方总算是加上了。一加 8 系列已经获得更新,7 系列用户据说 2020 年底便可吃上,再之前的就不敢乱预测了。
所以,如果你是一加 7 系列、8系列的用户,且不是急迫想要自动暗色模式这个功能,大可关闭此页面。如果十分需要这个功能,或者对自己的机型究竟何时能够适配新系统没底的话,不妨往下看看。本文就介绍借助 Tasker 实现自动化暗色模式。
Tasker 机制
简单来说,Tasker 是一款自动化工具。和 IFTTT 类似,Tasker 也遵循如果满足条件则执行任务(IF This Then That)。你可以在 Google Play 上以 3.49 美元价格买断 Tasker。
而本次自动化暗色模式思路也类似:
- 条件
- 特定时间段
- 日出、日落
- 任务
- 打开暗色模式
- 打开护眼模式
定时开关暗色模式
从简单的开始,下午 18:30 自动打开暗色模式、早上 6:30 自动关闭暗色模式。
打开 Tasker,新建一个配置文件,触发条件选择「时间」。根据需求,这里将触发时间设置为 从 18:30
。
接下来,配置满足触发条件时需要执行的任务。例如这里是「开启暗色模式」与「开启护眼模式」。
新建任务,名称随意。然后点击任务编辑页面右下角的 +
加号添加任务,选择「显示」。
需要注意的是,这里可以不需要 Root 权限。
但是嘛,一加不就是拿来折腾和刷机的。你可以参考 XDA 上的 Magisk 通用教程 或者 Sukka 写的 一加 OnePlus 7 刷入氧 OS、TWRP、Magisk (Root)(同样适用于大部分一加机型)获取手机 Root 权限。
如果你执意不 Root 机器,也可以通过 ADB 命令获取到相应权限。但是需要一台安装了 ADB / Fastboot 工具包(Google SDK Platform)的电脑,且这种方法获得的权限在手机重启后会失效。
手机端开启 USB 调试,使用数据线连接电脑,在电脑命令行执行:
./adb shell pm grant net.dinglisch.android.taskerm android.permission.WRITE_SECURE_SETTINGS
授予 Tasker 适当权限后,一个简单的自动化暗色模式脚本就已经完成了。
根据日出、日落控制暗色模式
其实,一加系统已经自带根据日出、日落控制夜间模式,但「夜间模式」不过是一般理解的「护眼模式」。而真正的暗色模式甚至连按时开启都没有,就更别说根据日出、日落控制了。
回过来,上述根据时间控制暗色模式的机制存在些许缺陷——即便在同一地区,夏季和冬季的光照时间也可能有好几个小时的差异。
Tasker 已经给出一份 计算日出、日落时间的配置文件。它包含两个文件:核心 JavaScript 部件与配置文件。将 JavaScript 文件下载至手机 Tasker/JavaScript
目录中(如果在使用「存储空间隔离」之类的 App,请将文件放入正确位置);下载配置文件到任意位置,打开方式「使用 Tasker 导入」。
这样你就可以在时间触发条件中使用 %SUNSET
、%SUNRISE
变量来调用日出、日落时间。最好将 sunriseset
任务中的第 6、7、8 个步骤都删掉,否则在执行的时候会引入弹窗。
修改主题样式
一加系统有个很不人性化的地方,即便开启「暗色模式」,系统主题却不会切换到「暗色样式」。要在个性化设置中手动切换。
这其实对于使用 OxygenOS、刷入完整 GApps 的我来说其实还好,因为谷歌应用套件大多都内置了暗色主题样式,只由「暗色模式」选项控制,平时最多也就一个「设置」系统应用会晃瞎双眼。
但如果是 H2OS 用户,平时较为依赖系统内置应用,那可能就比较难受了——电话、信息、备忘录,这些系统内置 App 统统会以系统主题展示,切换暗色模式后依然是亮色主题。
倒也不是完全没办法,可以借助 Tasker 的「查找」功能,监视到切换主题所修改的状态后跑一个 Shell 手动处理便是了。
这里我是直接给予了 Root 权限运行脚本的,具体 ADB 如何获取权限不是很清楚,就不自作聪明展开了。
后
一加一直以来以「轻」、「快」标榜自己。所以相较于其他「万基米」的国内定制系统而言,氢 OS、氧 OS 确实更贴近原生安卓。一加也是为数不多海外市场被中国市场还好的本地厂商。
但是为了所谓「可玩性」,一加独立出个性化主题供大家玩耍,可以修改图标、修改样式、修改主题,却忽略了暗色模式下本应使用暗色主题这一理所当然的事情,从而使尝试自己实现自动化暗色模式的用户更加为难、操作门槛更高。
但从营销的角度来看,这或许又是个让大家期待 H2OS 11、OxygenOS 11 的理由?
参考链接:
- 如何让 Android 10 拥有不输 iOS 的暗色模式体验?:少数派成员 Clyde 的文章,作者深谙 Android 折腾之道。