System 系统模块
系统模块提供与 Android 系统功能交互的能力。
延时 (Delay)
暂停工作流执行一段时间。
输入参数
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| 延迟时间 | 数字/魔法变量 | 1000 | 延迟时间(毫秒) |
使用示例
# 等待界面加载
1. 延时 2000ms # 等待 2 秒
2. UI选择器 @Button[text='确定']
3. 点击 ${element}
# 循环中延时
1. 循环 10
2. UI选择器 @TextView[text='加载中']
3. 如果 ${selector.found} 为真
4. 延时 500ms
5. 结束如果
6. 结束循环
时间换算:
- 1000ms = 1 秒
- 60000ms = 1 分钟
剪贴板操作
SetClipboard - 设置剪贴板
将文本内容复制到系统剪贴板。
GetClipboard - 获取剪贴板
获取当前剪贴板中的文本内容。
输出参数:
| 参数 | 类型 | 说明 |
|---|---|---|
| content | 文本 | 剪贴板内容 |
提示 (Toast)
显示临时提示信息。
输入参数
| 参数 | 类型 | 说明 |
|---|---|---|
| 提示内容 | 文本/魔法变量 | 要显示的文字 |
屏幕控制
WakeScreen - 唤醒屏幕
唤醒设备的屏幕,防止自动化过程中屏幕关闭。
SleepScreen - 休眠屏幕
使设备屏幕进入休眠状态。
亮度调节 (Brightness)
调节屏幕亮度。
输入参数
| 参数 | 类型 | 说明 |
|---|---|---|
| 亮度值 | 数字 | 0-255 亮度值 |
| 是否跟随系统 | 布尔值 | 是否跟随系统亮度设置 |
分享 (Share)
调用系统分享功能。
输入参数
| 参数 | 类型 | 说明 |
|---|---|---|
| 分享内容 | 文本/魔法变量 | 要分享的文字内容 |
| 分享标题 | 文本(可选) | 分享对话框标题 |
短信读取 (ReadSms)
读取最近收到的短信。
权限要求: 短信权限
输出参数
| 参数 | 类型 | 说明 |
|---|---|---|
| sender | 文本 | 发送者号码 |
| body | 文本 | 短信内容 |
| time | 时间 | 收到短信的时间 |
屏幕截图 (CaptureScreen)
截取当前屏幕图像。
输出参数
| 参数 | 类型 | 说明 |
|---|---|---|
| screenshot | 图像 | 截取的屏幕图像 |
| path | 文本 | 图像保存路径 |
Lua 脚本执行 (Lua)
执行 Lua 脚本,实现复杂的逻辑处理。
输入参数
| 参数 | 类型 | 说明 |
|---|---|---|
| 脚本代码 | 文本 | Lua 脚本内容 |
| 输入数据 | 字典(可选) | 传递给脚本的数据 |
输出参数
| 参数 | 类型 | 说明 |
|---|---|---|
| result | 任意 | 脚本执行结果 |
| output | 文本 | 脚本打印输出 |
使用示例:
1. Lua 脚本执行
代码: |
-- 获取输入
local num = tonumber(input.num)
-- 计算
local result = num * 2
-- 返回结果
return {doubled = result}
输入: {"num": 5}
2. 获取结果: ${lua_result.doubled} # 结果为 10
调用外部应用 (Invoke)
启动指定的外部应用。
输入参数
| 参数 | 类型 | 说明 |
|---|---|---|
| 包名 | 文本/魔法变量 | 目标应用包名 |
| Activity | 文本(可选) | 指定的 Activity 类名 |
| 数据 | 任意(可选) | 传递给 Intent 的数据 |
使用示例:
# 打开浏览器
1. 调用外部应用
包名: com.android.chrome
网址: https://example.com
# 打开指定应用
1. 调用外部应用
包名: com.tencent.mm
快速查看 (QuickView)
快速预览变量或表达式的值。
输入参数
| 参数 | 类型 | 说明 |
|---|---|---|
| 目标值 | 任意/魔法变量 | 要查看的值 |
| 显示标题 | 文本(可选) | 自定义标题 |
IP 地址获取 (GetIpAddress)
获取设备的 IP 地址信息。
输出参数
| 参数 | 类型 | 说明 |
|---|---|---|
| ip_v4 | 文本 | IPv4 地址 |
| ip_v6 | 文本 | IPv6 地址 |
| connected | 布尔值 | 是否已连接网络 |
Shizuku 快捷方式 (AppShortcuts)
通过 Shizuku 调用应用快捷方式。
输入参数
| 参数 | 类型 | 说明 |
|---|---|---|
| 包名 | 文本 | 目标应用包名 |
| 快捷方式 ID | 文本 | 快捷方式标识 |
系统模块使用技巧
组合使用示例
# 定时签到工作流
1. 延时 30000ms # 等待 30 秒让用户操作
2. WakeScreen # 唤醒屏幕
3. 调用外部应用 com.xiaomi.shop # 打开签到应用
4. 延时 5000ms # 等待应用启动
5. UI选择器 @Button[text='签到']
6. 如果 ${selector.found} 为真
7. 点击 ${element}
8. 否则
9. Toast "未找到签到按钮"
10. 结束如果
11. SleepScreen # 执行完成后休眠屏幕
# 验证码自动填充
1. 获取剪贴板 ${old_clipboard}
2. 延时 2000ms
3. Toast "请输入验证码"
4. 延时 15000ms # 等待用户查看验证码
5. 获取剪贴板 ${new_clipboard}
6. 如果 ${new_clipboard} 不等于 ${old_clipboard}
7. UI选择器 @EditText[index=0]
8. 文本输入 ${new_clipboard}
9. 结束如果