
























Matrix 是少数派的写作社区,我们主张分享真实的产品体验,有实用价值的经验与思考。我们会不定期挑选 Matrix 最优质的文章,展示来自用户的最真实的体验和观点。
文章代表作者个人观点,少数派仅对标题和排版略作修改。
Tasker 5.10 更新又来咯。之前在测试版第一时间适配的 Android 11 电源菜单控件正式上线,并且下放了 AutoApps 中的 Command 系统到 Tasker 中。
有点听不懂了?没关系,下面先介绍这两个新东西,再通过简单的实例来完成一些自动化任务,相信能让你快速上手 Tasker 的新功能。
本次更新的一大亮点是支持了 Android 11 的电源菜单 —— 如果你还不知道这是个什么功能,可以前往 这篇文章 了解更多。
Tasker 新版围绕电源菜单主要带来了三个新功能:
下面我们来一一介绍。
对于现有的任务,可以直接添加为电源菜单的控件,类似于下拉快速设置开关的磁贴。但在把任务添加到电源菜单之前,我们不妨先来简单区分以下下拉快捷设置和电源菜单的使用场景。

除此之外,谷歌也在有意地减少磁贴和增加通知在下拉菜单的占比,每页甚至只有 6 个磁贴,还需要下拉两次加上滑动才能触及一些自定义磁贴,因此电源菜单作为一个快捷设置的「替代」或「补充」都是很有必要的。
不过电源菜单控件和快速设置开关最大的不同在于,除了可以点击开关之外,我们还可以通过拖动来改变一些数值。因此 Tasker 的电源菜单控件也可以分为以下几种:
%par1 变量的任务:点击会切换 %par1 的值为 true 或者 fasle%par1 和 %par2 变量的任务:额外可以调节 %par2 的数值三者所对应的、最常见的使用例子就是执行任务的按钮(Button)、开关灯(Toggle)、开关并调节灯的亮度(Toggle Range)。
使用 Tasker 将类似的操作添加到电源菜单控件也非常简单:首先把 Tasker 加入电源菜单,点击右上角三点 > 添加控件 > 查看更多应用,就可以看到 Tasker 里面的任务列表,直接勾选就可以添加。
直接添加现有任务应该是最简单和直接的方法。但是并不能定制控件副标题的显示内容,如下图所示,右边是直接添加得到的样式,左边是通过执行电源菜单动作添加的效果。虽然功能上是完全一致的,但是对于有点强迫症的我来说,把下方显示的 Trigger 字样干掉还是有必要的。

另外电源菜单动作的加入意味着我们可以通过不同事件来触发增加/修改/删除控件的任务,从而实现动态控件的效果。官方给的示例是在不同的情境下(家或公司、早上或晚上)控件可以打开不同的应用,这个例子可能实用性并不是很大,后面会通过另一个动态控件的例子来说明。
某种程度上命令系统的引入其实是为了配合电源菜单控件而来的,因此本次更新也加入了原本需要额外购买 AutoApps 的命令系统(Command System)。简单来说,命令系统可以通过在任务间传递固定格式的文本来传递数据、启动任务,它包含两个基本组件:
具体的使用可以参考这个链接中的内容。一个完整的命令的组成结构如下:
prefix=:=text1=:=text2..除了命令前缀是必需的之外,后面都是可以按需自定义的。在命令事件接受的时候,就可以按照 prefix 进行过滤,接受后面的文本信息。这里有一个坑就是后面解析出来的都是字符串,如果传递数字的话注意匹配成数字。
回到电源菜单控件上,操作电源菜单控件可以自定义发送如下几种形式的命令(与直接添加部分的很类似)。比如拖动一个类似调节灯光亮度的控件至 50.0,设置命令的前缀为 alllight ,则 Tasker 会发送一个 alllight=:=true=:=50.0 的命令。这样我们设置一个命令为 alllight 的事件,就可以进行实际的灯光调控任务,同时也相应更新控件的状态。

首先给出实战所有的 工程链接,点击导入整个项目即可(其中灯光控制部分需要安装并设置好 Yeelight,对了,它支持 Tasker!)。项目导入会自动执行创建控件的任务,执行完毕之后可以前往电源菜单把控件添加到界面中。
注意其中的一些任务需要根据自己的实际情况进行修改,比如监测文件的路径、Yeelight 灯组的设置等等。
这个比较简单,看下面的例子就应该能懂得要领。直接新建一个任务,%par1 用来作为灯亮和灯灭的状态,%par2 用来作为灯的亮度数值。
完成之后直接在电源菜单添加即可。下面展示的是如何用一个控件控制所有灯光开关和亮度(其实只有俩):


这里会稍微复杂一点点,因为会用到命令系统。先从简单的开始讲起,也就是按钮(Button)类型的控件。这里的两个按钮控件分别会执行这样的任务:
具体实现可以查看上面导入的控件任务中 ID 为 wechatshare 和 cliplink 的电源菜单动作。以微信分享这个控件为例,它的实际工作流程如下:
pma=:=wechatshare 的命令Command pmd* 的命令事件所接收,命令参数 wechatshare 传入控件任务,并执行「分享最新微信文件」的任务
我们继续加深,来到开关控件部分。
这里明显不同的是,控件本身是记录状态的,因此在执行完任务之后,需要额外更新控件的状态。比如这里「切换黑暗模式任务」,在执行黑暗模式切换之后,会根据现在的状态 %new_state 更新控件的开关状态。

继续加大力度,我们来做一个类似于前面直接添加的调整所有灯光的控件。具体实现流程如下:
alllight=:=true=:=50.0 的命令Command alllight* 的命令事件所接收,命令参数传入 %light() 数组,%light1=true, %light2=50.0,最后执行下图的灯光调节和控件更新任务
首先描述一下使用场景:当下载文件夹有新文件时,显示为分享最新下载文件控件;当拍摄新照片之后,显示为分享最新照片控件。
基本流程如下:
share,之后更新时 ID 保持一致Download/ 文件夹被修改时,触发「创建分享最新下载控件」任务;当 DCIM/Camera 文件夹被修改时,触发「创建分享最新照片控件」任务send=:=newphoto or send=:=newdownload 的命令Command send* 的命令事件所接收,执行相应的分享任务如果你有更多电源菜单控件的奇思妙想或实现方法,或是在导入、操作的过程中遇到什么问题,不妨在评论区留言交流。
玩得开心!
关联阅读:
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。