Skip to main content

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. 结束如果