在文章《Tasker配置:连接某个Wifi的SSID后自动吃个瓜》中,我初步提及%WIFII的用法。最近,我在原来的基础上更新了%WIFII的玩法。记录如下:
0 需求
连接特定Wifi后,触发任务A中的A1部分,开启录音服务;连接其他Wifi,或者未连接Wifi的情况下,触发任务A中的A2部分,暂停录音服务。
1 给%WIFII找个替身
由于%WIFII会一直显示最后一次Wifi扫描后获得AP信息,并且在再次扫描前无法清除,使用起来不太方便,我得给它找个替身。于是,我新建了一个Tasker变量:%NewWIFII。步骤如下:
- 新建任务:NewWIFII
- 添加”变量”>>添加”变量合并”>>输入变量名称“%NewWIFII”>>连接系统变量“%WIFII”
- 添加“变量”>>添加“变量定义”>>输入变量名称“%NewWIFII”>>发往系统变量“%WIFII”
再新建一个清除变量的任务,步骤如下:
- 新建任务:ClsNewWIFII
- 添加“变量”>>添加“清除变量”>>输入变量名称“%NewWIFII”>>勾选“Clear All Variables”
2 新建任务A
任务编辑内容图示如下:
3 新建配置文件
配置文件1:
- “状态”>>“网络”>>“Wifi已连接”>>将“活动的”属性设置为“任意”
- 添加任务“NewWIFII”
- 将配置文件1的“已启动任务的优先级”调至“50”
配置文件2:
- “状态”>>“网络”>>“Wifi已连接”>>将“活动的”属性设置为“任意”
- 添加任务“A”
- 添加退出任务“ClsNewWIFII”
配置文件3:
- “状态”>>“网络”>>“Wifi已连接”>>将“活动的”属性设置为“任意”>>勾选“反转”
- 添加任务“A”
实现原理说明:
- 连接Wifi后,先读取系统变量%WIFII的信息,赋值至替身变量%NewWIFII之上;
- 判断%NewWIFII信息中是否包含字段“abc”:假如包含字段“abc”,开启录音服务;假如不含字段“abc”,暂停录音服务;
- 断开Wifi后,清除变量%NewWIFII,再运行一次任务“A”,在读取不到字段“abc”的情况下,暂停录音服务。
4 其它的实现方法
4.1 方案一
无需新建变量%NewWIFII:
- 新建2个任务:任务1配置内容与任务”A“类似,判断%WIFII是否包含字段“abc”,假如包含字段“abc”,开启录音服务;假如不含字段“abc”,暂停录音服务。任务2直接配置为“暂停录音”。
- 新建1个配置:连接Wifi后,运行任务1;断开Wifi后,运行任务2。
4.2 方案二
同样无需新建变量%NewWIFII:
- 新建1个任务:判断%WIFII是否含字段“abc”及“CONNECTION”,假如为True,开启录音服务;假如为False,暂停录音服务。
- 新建2个配置:Wifi已连接时,运行前款任务;Wifi未连接时,也运行前款任务。
为什么要判断%WIFII是否含“CONNECTION”?原理见《Tasker配置:如何判断手机是否已经连接Wifi?》。
了解 环评五四三 的更多信息
Subscribe to get the latest posts sent to your email.
《Tasker配置:%WIFII还可以这样玩》有1条评论