Tasker配置:%WIFII还可以这样玩

在文章《Tasker配置:连接某个Wifi的SSID后自动吃个瓜》中,我初步提及%WIFII的用法。最近,我在原来的基础上更新了%WIFII的玩法。记录如下:

0 需求

连接特定Wifi后,触发任务A中的A1部分,开启录音服务;连接其他Wifi,或者未连接Wifi的情况下,触发任务A中的A2部分,暂停录音服务。

1 给%WIFII找个替身

由于%WIFII会一直显示最后一次Wifi扫描后获得AP信息,并且在再次扫描前无法清除,使用起来不太方便,我得给它找个替身。于是,我新建了一个Tasker变量:%NewWIFII。步骤如下:

  1. 新建任务:NewWIFII
  2. 添加”变量”>>添加”变量合并”>>输入变量名称“%NewWIFII”>>连接系统变量“%WIFII”
  3. 添加“变量”>>添加“变量定义”>>输入变量名称“%NewWIFII”>>发往系统变量“%WIFII”

再新建一个清除变量的任务,步骤如下:

  1. 新建任务:ClsNewWIFII
  2. 添加“变量”>>添加“清除变量”>>输入变量名称“%NewWIFII”>>勾选“Clear All Variables”

2 新建任务A

任务编辑内容图示如下:

3 新建配置文件

配置文件1:

  1. “状态”>>“网络”>>“Wifi已连接”>>将“活动的”属性设置为“任意”
  2. 添加任务“NewWIFII”
  3. 将配置文件1的“已启动任务的优先级”调至“50”

配置文件2:

  1. “状态”>>“网络”>>“Wifi已连接”>>将“活动的”属性设置为“任意”
  2. 添加任务“A”
  3. 添加退出任务“ClsNewWIFII”

配置文件3:

  1. “状态”>>“网络”>>“Wifi已连接”>>将“活动的”属性设置为“任意”>>勾选“反转”
  2. 添加任务“A”

实现原理说明:

  1. 连接Wifi后,先读取系统变量%WIFII的信息,赋值至替身变量%NewWIFII之上;
  2. 判断%NewWIFII信息中是否包含字段“abc”:假如包含字段“abc”,开启录音服务;假如不含字段“abc”,暂停录音服务;
  3. 断开Wifi后,清除变量%NewWIFII,再运行一次任务“A”,在读取不到字段“abc”的情况下,暂停录音服务。

4 其它的实现方法

4.1 方案一

无需新建变量%NewWIFII:

  1. 新建2个任务:任务1配置内容与任务”A“类似,判断%WIFII是否包含字段“abc”,假如包含字段“abc”,开启录音服务;假如不含字段“abc”,暂停录音服务。任务2直接配置为“暂停录音”。
  2. 新建1个配置:连接Wifi后,运行任务1;断开Wifi后,运行任务2。

4.2 方案二

同样无需新建变量%NewWIFII:

  1. 新建1个任务:判断%WIFII是否含字段“abc”及“CONNECTION”,假如为True,开启录音服务;假如为False,暂停录音服务。
  2. 新建2个配置:Wifi已连接时,运行前款任务;Wifi未连接时,也运行前款任务。

为什么要判断%WIFII是否含“CONNECTION”?原理见《Tasker配置:如何判断手机是否已经连接Wifi?》。

《Tasker配置:%WIFII还可以这样玩》有1条留言

留下评论