回答
脚本在调用录制或投放功能时卡住,通常由权限未授予、系统授权弹窗未处理或API调用方式不当引起。你可以按以下步骤排查和解决:
-
确认必要权限已开启
- 进入手机「设置」→「应用管理」→ Hamibot → 开启「悬浮窗」「后台弹出界面」权限。
- 屏幕录制/投放属于系统敏感权限,首次调用时会触发系统级授权对话框。若未点击“允许”或“立即开始”,脚本会无限期阻塞。
-
处理系统授权弹窗
- 调用录制API前,确保无障碍服务已开启。
- 不同品牌手机的弹窗文案和控件ID不同。你可以使用
textMatches()或id()配合findOne()自动点击授权按钮,或首次运行时手动点击一次完成授权。
-
检查API调用方式(Rhino引擎兼容)
Hamibot 使用 Rhino 1.7.15 引擎,不支持async/await、箭头函数和函数默认参数。录制相关API通常为同步调用,需避免在主线程长时间阻塞。示例代码:
// 文档地址 https://docs.hamibot.com/ auto.waitFor(); // 请求屏幕录制权限,系统会弹出确认框 var hasPermission = media.requestScreenCapture(); if (!hasPermission) { toast("屏幕录制权限获取失败,请检查系统设置"); exit(); } // 权限获取成功后执行后续录制或投放逻辑 // media.startScreenCapture(); // 具体API以实际文档为准 -
查看运行日志定位问题
- 打开 Hamibot 客户端,点击右上角日志图标,查看当前脚本的运行记录。
- 若日志中出现
SecurityException、Permission denied或Timeout,说明权限或弹窗处理失败。 - 将日志截图用于自行调试或反馈给脚本作者。
-
其他注意事项
- Android 10 及以上系统对后台屏幕录制限制严格,建议保持 Hamibot 在前台运行,或开启“允许后台运行”/“无限制”电池优化策略。
- 确保 Hamibot 客户端为最新版本,旧版本可能存在API兼容或权限申请逻辑缺陷。
- 若“投放”指投屏或媒体流功能,请确认设备网络环境稳定,且对应模块已正确引入。
按上述步骤操作后,脚本卡住问题通常可解决。如仍异常,请提供具体调用的API名称、手机型号及Android版本,以便进一步排查。
ℹ️ 内容由 AI 生成,可能不准确,请注意核实