Tasker Variables 变量详解 系统变量 用户变量 本地变量 全类型参考
变量是什么
Tasker 的变量以 % 开头,是整个自动化系统的数据管道。你可以把它理解成"带状态的标签"——在 Task A 里设置一个变量值,在 Task B 或另一个 Profile 里读取这个值做条件判断。
变量的存在让 Tasker 从"条件 → 动作"的单向触发器,进化成了真正有"记忆"的自动化系统。没有变量,Tasker 只能做线性的 if-then;有了变量,就能做状态机、计数器、条件分支。
三种变量类型
| 类型 | 命名规则 | 可见范围 | 设置者 | 生命周期 |
|---|---|---|---|---|
| 系统变量 | %BATT、%TIME、%LOC 等 | 所有 Task 可读 | Tasker 内置(自动更新) | 随系统变化实时更新 |
| 全局用户变量 | %MyVar、%WiFiName(大写开头,非全小写) | 所有 Profile/Task 可读可写 | 用户通过 Variable Set 等 Action | 存 XML / tasker.db,重启后保留 |
| 局部变量 | %myvar、%num(全小写) | 仅当前 Task 内部可见 | 当前 Task 的 Variable Set / Perform Task | Task 结束即销毁 |
系统变量一览(常用)
Tasker 内置了大量系统变量,覆盖几乎所有手机状态:
- 位置:
%LOC(GPS 经纬度)、%LOC.alt(海拔)、%LOC.spd(速度)、%GPS(GPS 开关) - 电量:
%BATT(电量百分比)、%BATT.level、%CHARGING(充电状态)、%POWERSAVE - 网络:
%WIFI(Wi-Fi 连接状态)、%WIFII(当前 SSID)、%CELLID、%NETTYPE - 应用:
%APP(当前前台 App 包名)、%HOME - 时间:
%TIME(HHMM)、%DATE(YYMMDD)、%DAY、%HOUR、%SEC - 系统:
%SILENTMODE、%VOLUME、%SCREEN(屏幕开关状态)、%INTERRUPT(勿扰模式级别) - Tasker 自身:
%TASK(当前执行的 Task 名)、%PROFILE、%caller(调用来源)
完整列表见 Tasker 菜单 → 帮助 → 变量列表。
全局变量 vs 局部变量
当你需要在多个 Task 之间传递信息时,用全局变量。当变量只在当前 Task 内部使用(比如循环计数器)时,用局部变量。
局部变量(全小写)的好处:
- 不会污染全局变量空间——Task 结束后自动销毁
- 避免命名冲突——不同 Task 可以各自使用
%count,互不干扰 - Tasker 会自动处理——如果局部变量名碰巧和全局冲突,优先用局部
变量设置与读取
设置变量值
Variable Set 动作是最常用的方式:
- 设置为固定值:
Variable Set %MyName, "小明" - 设置为其他变量的计算结果:
Variable Set %Msg, "电量是 %BATT %%" - 数学运算:
Variable Add %Counter, 1、Variable Math %Result, %A * %B - 读取系统属性:
Variable Set %BatteryLevel, %BATT
变量在字符串中的用法
在任何 Action 的文本参数中写入变量名,Tasker 会自动替换为变量的当前值:
- 弹窗显示"当前电量是 %BATT %%" → 运行时实际显示"当前电量是 78 %%"
- 读取短信内容存储到变量:
Variable Set %SMSContent, %SMSRB
变量作为条件
变量最强大的用法是作为 Profile Context 或 Action 的条件。
示例:只有当电量低于 15% 并且 正在使用蜂窝数据时,才触发"省电模式" Profile:
State → Variable Value → %BATT < 15
AND
State → Variable Value → %NETTYPE not match WIFI
或者在 Task 的某个 Action 上设置条件:只有 %FirstRun 为 1 时才执行"首次引导弹窗"这个 Action。
变量索引
变量名结尾带数字的变量(如 %LOC3、%Arr1、%Arr2)可以构成数组结构。配合 Variable Split 和 Variable Join 动作,Tasker 可以处理 CSV/列表数据。
变量调试
变量值不更新?先查这三件事:
- 变量名拼写:Tasker 变量名区分大小写,
%batt≠%BATT - 执行顺序:是不是在设置之前就读取了?
- 日志查看:Tasker 菜单 → 数据 → 运行日志,能看到每个 Action 执行后的变量值
更多排查技巧见 变量调试。