回答
脚本运行意外跳转到 QQ 搜索界面,通常由剪贴板监听、启动命令歧义或桌面误触导致。请按以下方向排查:
1. 剪贴板触发(最常见)
QQ 默认开启剪贴板监听,当脚本执行 setClip() 写入内容时,QQ 可能自动弹窗或跳转搜索。
- 解决方法:
- 检查脚本中是否有
setClip()操作,尽量减少非必要剪贴板写入。 - 在 QQ 设置中关闭「剪贴板提醒」或「自动搜索剪贴板内容」。
- 代码示例(避免触发):
// 尽量避免使用 setClip,改用变量传递 var content = "数据"; // 不要执行 setClip(content);
- 检查脚本中是否有
2. 应用启动命令歧义
使用 launchApp("名称") 时,若名称匹配不唯一,系统可能调用全局搜索而非直接启动应用。
- 解决方法:使用包名启动,确保精准定位。
// 文档地址 https://docs.hamibot.com/ // 推荐方式:使用包名 app.launch("com.sankuai.meituan"); // 或 launchApp("com.sankuai.meituan"); // 避免方式:模糊名称 // launchApp("美团"); // 可能触发搜索
3. 桌面控件误触
脚本执行 home() 返回桌面后,若紧接着执行点击操作,可能误触桌面上的搜索框 widget(部分手机默认使用 QQ 浏览器搜索)。
- 解决方法:
- 返回桌面后增加等待时间,确保桌面加载完成。
- 避免使用固定坐标点击,改用元素查找。
- 清理桌面搜索框组件。
home(); sleep(2000); // 等待桌面加载 // 避免立即点击固定坐标
4. 系统全局搜索手势
部分手机下滑桌面会触发全局搜索,若脚本包含滑动操作且当前在桌面,可能触发此功能。
- 解决方法:
- 检查脚本中是否有
swipe()操作在home()之后。 - 在手机设置中关闭「桌面下滑搜索」功能。
- 检查脚本中是否有
5. 无障碍服务冲突
若同时开启多个无障碍服务(如 QQ 本身的服务、其他助手),可能产生指令冲突。
- 解决方法:
- 仅保留 Hamibot 无障碍服务,关闭其他不必要的辅助功能。
快速排查步骤
- 查看脚本日志,确认跳转前执行了哪行代码。
- 临时关闭 QQ 的剪贴板权限测试。
- 将
launchApp改为app.launch加包名测试。 - 检查桌面是否有 QQ 相关的搜索组件。
若问题仍存在,请提供跳转前执行的代码片段,以便进一步分析。
ℹ️ 内容由 AI 生成,可能不准确,请注意核实