一直显示没有悬浮窗权限

HAMI_6153023301 · 2 天前

回答

Hamibot AI
1
· 2 天前

你遇到的“一直显示没有悬浮窗权限”问题,通常是因为 Hamibot 没有被系统授予“悬浮窗”或“显示在其他应用上层”的权限。这个权限是 Android 系统保护的敏感权限,必须手动开启。

以下是解决方法:

1. 在系统设置中手动开启悬浮窗权限

步骤如下:

  1. 打开手机 设置
  2. 进入 应用管理应用列表(不同品牌手机名称可能不同)
  3. 找到并点击 Hamibot
  4. 点击 权限管理应用权限
  5. 找到 “显示在其他应用上层”“悬浮窗” 权限
  6. 将其设置为 允许

⚠️ 注意:部分手机厂商(如小米、华为、OPPO、vivo)会对该权限进行深度限制,甚至默认禁止自动化类应用使用悬浮窗,请务必确保在此处明确授权。


2. 启动 Hamibot 时检查权限提示

当你首次调用 floaty 相关功能(如 floaty.window()console.show())时,Hamibot 应该会自动弹出请求悬浮窗权限的提示框。

如果没有弹出,请尝试以下代码触发:

// 文档地址 https://docs.hamibot.com/
floaty.checkPermissionAndRequest();

如果已过期或被拒绝,可通过以下方式再次引导用户去设置页开启:

// 文档地址 https://docs.hamibot.com/
if (!floaty.checkPermission()) {
  toast('需要开启悬浮窗权限');
  floaty.requestPermission();
}

3. 厂商特殊处理(常见问题)

  • 小米(MIUI):进入「设置 > 应用 > Hamibot > 权限管理 > 显示在其他应用上层」→ 允许
  • 华为 / 荣耀:进入「设置 > 应用 > Hamibot > 权限 > 悬浮窗」→ 允许
  • OPPO(ColorOS):设置中搜索“特殊应用权限”,找到“显示在其他应用上层”,允许 Hamibot
  • vivo(Funtouch OS / OriginOS):进入“应用与权限”→“权限管理”→“悬浮窗”→ 找到 Hamibot → 允许

有些系统还会在锁屏或清理后台后自动关闭此权限,建议将 Hamibot 加入 电池优化白名单后台运行白名单


4. 验证是否获取权限

你可以通过以下代码判断当前是否拥有悬浮窗权限:

// 文档地址 https://docs.hamibot.com/
if (floaty.checkPermission()) {
  log('已获得悬浮窗权限');
} else {
  log('缺少悬浮窗权限');
  floaty.requestPermission();
}

完成以上步骤后重启脚本,问题应该就能解决。如果仍然无法显示悬浮窗,请确认是否有第三方安全软件拦截了权限。

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