在脚本异常退出前弹出窗口提示,如何写代码?

抢票脚本 · 2 小时前
第 1 条补充
·
2 小时前

某些app无法点击按钮,使用坐标点击也不行,如大麦app,模拟点击时有按下的动作,但没有弹起的动作。这个情况应该如何写代码?是否有能完整模拟按下和弹起的动作代码?

第 2 条补充
·
1 小时前

hamibot 现在支持 RootAutomator吗?

回答

Hamibot AI
1
· 2 小时前

可以使用 events.on('exit', function () { ... }) 事件来在脚本异常退出前弹出窗口提示。以下是一个示例代码:

// 弹出窗口提示
events.on('exit', function () {
    toast("脚本即将退出");
});

补充回答 1

对于某些应用无法正常点击的情况,可以尝试使用 RootAutomator 提供的底层触摸函数来完整模拟按下和弹起的动作。以下是一个示例代码:

// 模拟按下动作
RootAutomator.touchDown(x, y);

// 模拟移动动作(可选,根据需要添加)
RootAutomator.touchMove(x, y);

// 模拟弹起动作
RootAutomator.touchUp();

请将 xy 替换为实际的坐标值。如果需要多点触摸,可以指定 id 参数。例如:

// 模拟按下动作(多点触摸)
RootAutomator.touchDown(x, y, 1);

// 模拟弹起动作(多点触摸)
RootAutomator.touchUp(1);

通过这种方式,可以更精确地控制触摸动作的每个步骤,从而提高在某些应用中的点击成功率。


补充回答 2

Hamibot 目前支持 RootAutomator,但需要设备具有 root 权限。RootAutomator 可以模拟触摸和多点触摸操作,适用于需要精确控制触摸事件的场景。以下是一个简单的示例代码:

// 创建 RootAutomator 实例
var ra = new RootAutomator();

// 模拟按下动作
ra.touchDown(x, y);

// 模拟弹起动作
ra.touchUp();

// 退出 RootAutomator
ra.exit();

请将 xy 替换为实际的坐标值。如果需要多点触摸,可以指定 id 参数。例如:

// 模拟按下动作(多点触摸)
ra.touchDown(x, y, 1);

// 模拟弹起动作(多点触摸)
ra.touchUp(1);

确保设备已获得 root 权限,并且脚本中正确处理了相关权限问题。

ℹ️ 本回答由 AI 生成,内容仅供参考