Skip to main content

Triggers 触发器模块

触发器模块用于设置工作流的启动条件,当指定条件满足时自动执行工作流。

手动触发 (ManualTrigger)

手动触发工作流执行,需要用户主动启动。

使用方式: 在工作流编辑器中添加此模块后,可以通过悬浮窗或快捷方式手动启动。

定时触发 (TimeTrigger)

在指定的时间和日期触发工作流,类似闹钟。

输入参数

参数类型默认值说明
触发时间时间"09:00"24 小时制时间,格式 HH:mm
重复日期列表全部日期哪些天重复触发

日期选项:

  • 每天
  • 仅一次(不重复)
  • 工作日(周一至周五)
  • 自定义选择日期

输出参数

无(触发器模块本身不产生输出)

使用示例

# 每天早上 7:00 执行的起床提醒工作流
1. 定时触发
时间: 07:00
日期: 每天

2. WakeScreen
3. Toast "早上好!开始新的一天"
4. 调用外部应用 com.android.calendar
# 工作日早上 9:00 执行的签到提醒
1. 定时触发
时间: 09:00
日期: 工作日

2. Toast "该签到了"
3. 调用外部应用 com.example.checkin

通知触发 (NotificationTrigger)

当收到指定条件的通知时触发工作流。

输入参数

参数类型说明
应用包名文本监听的应用(留空表示所有应用)
通知标题文本匹配的通知标题
通知内容文本匹配的通知内容

匹配模式

  • 精确匹配 - 通知内容完全等于指定文本
  • 包含 - 通知内容包含指定文本

输出参数

参数类型说明
notification_title文本通知标题
notification_text文本通知内容
from_app文本来源应用包名

使用示例

# 收到微信消息时自动回复
1. 通知触发
应用包名: com.tencent.mm
通知内容: 收到一条新消息

2. 设置剪贴板 "正在忙,稍后回复"
3. 调用外部应用 Intent.ACTION_SENDTO

WiFi 触发 (WifiTrigger)

当 WiFi 连接状态变化时触发。

输入参数

参数类型说明
触发条件枚举已连接 / 已断开 / 名称变化
网络名称 (SSID)文本指定 WiFi 名称

输出参数

参数类型说明
ssid文本当前连接的 WiFi 名称
bssid文本接入点地址
connected布尔值是否已连接

使用示例

# 连接到公司 WiFi 后自动打开工作相关应用
1. WiFi 触发
条件: 已连接
网络名称: COMPANY_OFFICE

2. 调用外部应用 com.example.work

蓝牙触发 (BluetoothTrigger)

当蓝牙连接状态变化时触发。

输入参数

参数类型说明
触发条件枚举已连接 / 已断开
设备名称文本(可选)指定蓝牙设备名称

输出参数

参数类型说明
device_name文本连接的设备名称
device_address文本设备 MAC 地址

按键触发 (KeyEventTrigger)

当按下指定按键时触发。

输入参数

参数类型说明
按键类型枚举音量键 / 电源键 / 自定义

使用场景

  • 快捷键启动自动化
  • 音量键快速控制

UI 元素触发 (ElementTrigger)

当指定 UI 元素出现在屏幕上时触发。

输入参数

参数类型说明
选择器文本UI 元素选择器
检测模式枚举出现时 / 消失时

使用示例

# 当广告弹窗出现时自动关闭
1. UI元素触发
选择器: @TextView[text='广告']

2. 如果 ${selector.found} 为真
3. 按键操作 BACK
4. 结束如果

位置触发 (LocationTrigger)

当设备位置变化时触发。

输入参数

参数类型说明
触发条件枚举进入区域 / 离开区域
位置坐标坐标目标位置
半径数字触发半径(米)

权限要求

  • 位置权限
  • 地理位置(精确/模糊)

电池触发 (BatteryTrigger)

当电池状态变化时触发。

输入参数

参数类型说明
触发条件枚举电量低于 / 电量高于 / 充电状态变化
电量阈值数字百分比阈值

输出参数

参数类型说明
level数字当前电量百分比
is_charging布尔值是否正在充电

GKD 触发 (GKDTrigger)

配合 GKD 自动化工具使用的触发器。

输入参数

参数类型说明
规则 ID文本GKD 规则标识
触发模式枚举匹配时 / 完成时

触发器使用注意事项

1. 权限要求

大部分触发器需要相应权限:

触发器所需权限
定时触发精确闹钟权限
通知触发通知监听权限
位置触发位置权限
WiFi 触发位置权限(Android 6.0+)

2. 后台运行

触发器需要在后台运行才能正常工作:

  • 确保 vFlow 已授予必要的权限
  • 不要结束 vFlow 进程
  • 部分设备需要设置自启动白名单

3. 触发条件组合

可以组合多个触发器:

# 在特定时间和条件下执行
1. 定时触发 08:00
2. WiFi 触发 已连接 OFFICE_WIFI

# 满足所有条件后执行
3. 执行工作流操作

4. 触发延迟

由于系统限制,触发器可能存在一定延迟:

  • 定时触发:通常在指定时间后几秒内
  • 通知触发:通常在收到通知后 1-3 秒内
  • 位置触发:取决于位置更新频率

完整工作流示例

智能家居控制

工作流: 智能家居控制
1. 手动触发 # 主要触发方式
2. 或者 定时触发 18:00 # 下午 6 点自动执行
3. 或者 WiFi 触发 已连接 HOME_WIFI

# 实际执行的操作
4. WakeScreen
5. 调用外部应用 com.xiaomi.smarthome
6. Toast "正在打开智能设备"

自动回复工作流

工作流: 自动回复
1. 通知触发
应用包名: com.tencent.mm

2. 如果 ${notification_text} 包含 "在吗"
3. 设置剪贴板 "我目前在忙,稍后回复你"
4. 调用外部应用 Intent.ACTION_SENDTO
5. 结束如果