回答
悬浮窗没有显示通常由以下几个原因导致,请逐一排查:
-
脚本执行结束
悬浮窗在脚本停止运行时会自动关闭。如果脚本代码执行完毕,进程结束,悬浮窗就会消失。要保持悬浮窗不被关闭,需要让脚本保持运行状态。
解决方法:在代码末尾添加一个空的setInterval循环,防止脚本退出。 -
权限未开启
使用悬浮窗功能需要 Hamibot 拥有“显示在其他应用上层”的权限。请在手机设置中检查 Hamibot 的悬浮窗权限是否已开启。如果没有权限,悬浮窗无法创建。 -
代码逻辑问题
- 检查是否过早调用了
close()方法关闭了窗口。 - 检查
setSize()设置的宽高是否正确,如果设置为 0 或不可见大小,则无法看到。 - 检查布局是否透明,如果背景色 alpha 值为 0,则肉眼不可见。
- 检查是否过早调用了
以下是一个标准的悬浮窗代码示例,确保脚本持续运行并显示窗口:
// 文档地址 https://docs.hamibot.com/
var w = floaty.window(
<frame gravity="center" bg="#77ff0000">
<text id="text" textColor="#ffffff">悬浮文字</text>
</frame>
);
// 设置大小为自适应内容
w.setSize(-2, -2);
// 保持脚本运行,防止悬浮窗随脚本结束而关闭
setInterval(function() {}, 1000);
如果仍然无法显示,请尝试重启 Hamibot 服务或检查手机系统是否限制了后台悬浮窗功能。
ℹ️ 本回答由 AI 生成,内容仅供参考