ChrAlpha's Blog

Thumbnail-Tasker%20%E6%A0%B9%E6%8D%AE%E6%97%A5%E5%87%BA%E6%97%A5%E8%90%BD%E8%87%AA%E5%8A%A8%E5%8C%96%E6%9A%97%E8%89%B2%E6%A8%A1%E5%BC%8F%EF%BC%88%E4%BB%A5%E4%B8%80%E5%8A%A0%E4%B8%BA%E4%BE%8B%EF%BC%89

Tasker 根据日出日落自动化暗色模式(以一加为例)

2020-10-24·笔记本

首先要说明,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

Tasker新建时间触发任务

接下来,配置满足触发条件时需要执行的任务。例如这里是「开启暗色模式」与「开启护眼模式」。

新建任务,名称随意。然后点击任务编辑页面右下角的 + 加号添加任务,选择「显示」。

Tasker开启暗色、护眼模式

需要注意的是,这里可以不需要 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 个步骤都删掉,否则在执行的时候会引入弹窗。

修改主题样式

一加系统有个很不人性化的地方,即便开启「暗色模式」,系统主题却不会切换到「暗色样式」。要在个性化设置中手动切换。

Oneplus系统主题

这其实对于使用 OxygenOS、刷入完整 GApps 的我来说其实还好,因为谷歌应用套件大多都内置了暗色主题样式,只由「暗色模式」选项控制,平时最多也就一个「设置」系统应用会晃瞎双眼。

但如果是 H2OS 用户,平时较为依赖系统内置应用,那可能就比较难受了——电话、信息、备忘录,这些系统内置 App 统统会以系统主题展示,切换暗色模式后依然是亮色主题。

倒也不是完全没办法,可以借助 Tasker 的「查找」功能,监视到切换主题所修改的状态后跑一个 Shell 手动处理便是了。

Tasker监视修改状态

这里我是直接给予了 Root 权限运行脚本的,具体 ADB 如何获取权限不是很清楚,就不自作聪明展开了。

一加一直以来以「轻」、「快」标榜自己。所以相较于其他「万基米」的国内定制系统而言,氢 OS、氧 OS 确实更贴近原生安卓。一加也是为数不多海外市场被中国市场还好的本地厂商。

但是为了所谓「可玩性」,一加独立出个性化主题供大家玩耍,可以修改图标、修改样式、修改主题,却忽略了暗色模式下本应使用暗色主题这一理所当然的事情,从而使尝试自己实现自动化暗色模式的用户更加为难、操作门槛更高。

但从营销的角度来看,这或许又是个让大家期待 H2OS 11、OxygenOS 11 的理由?


参考链接

Tasker 根据日出日落自动化暗色模式(以一加为例)
本文作者
ChrAlpha
发布日期
2020-10-24
更新日期
2020-10-24
转载或引用本文时请遵守 CC BY-NC-SA 4.0 许可协议,注明出处、不得用于商业用途!
CC BY-NC-SA 4.0