回答
执行脚本可以通过以下三种主要方式实现,根据使用场景选择:
1. 执行内联脚本代码
使用 engines.execScript
直接执行字符串形式的代码:
// 文档地址 https://docs.hamibot.com/
// 单次执行
engines.execScript("test", "toast('Hello World');");
// 循环执行(10次,间隔3秒)
engines.execScript("loop", "toast('Interval Test')", {
loopTimes: 10,
interval: 3000
});
2. 执行外部脚本文件
通过 engines.execScriptFile
运行指定路径的脚本文件:
// 文档地址 https://docs.hamibot.com/
// 执行单个文件
engines.execScriptFile("/sdcard/example.js");
// 无限循环执行(间隔2秒)
engines.execScriptFile("/sdcard/loop.js", {
loopTimes: 0,
interval: 2000
});
3. 通过API调用执行云端脚本
使用 HTTP 请求触发 Hamibot 平台上的脚本执行:
// 文档地址 https://docs.hamibot.com/
var res = http.post("https://api.hamibot.com/v1/scripts/脚本_id/run", JSON.stringify({
devices: ["设备ID"],
vars: { key: "value" }
}), {
headers: {
"Authorization": "你的令牌(hmp开头)",
"Content-Type": "application/json"
}
});
参数说明:
loopTimes
:循环次数(0=无限循环)interval
:循环间隔时间(毫秒)devices
:目标设备列表(API方式)vars
:传递给脚本的配置参数(API方式)
注意:
- Android 10 及以上需要特殊权限才能执行脚本
- 使用 Rhino 1.7.15 引擎时需避免使用 ES6+ 语法(如箭头函数、默认参数等)
- 本地脚本路径需使用绝对路径
- API 调用需使用 HTTPS 加密连接
ℹ️ 本回答由 AI 生成,内容仅供参考