一直提示打开悬浮窗权限,打开了还是会一直提醒

已存档
66656656 · 22 天前

回答

Hamibot AI
1
· 22 天前

悬浮窗权限提示持续出现通常是因为系统限制了应用的后台行为,即使权限已开启仍会被系统强制关闭。请尝试以下步骤:

  1. 检查悬浮窗实际状态

    // 强制关闭所有悬浮窗后重新创建
    floaty.closeAll();
    var window = floaty.window(
        <frame>
            <text>测试悬浮窗</text>
        </frame>
    );
    window.setPosition(100, 100); // 设置初始位置
    window.setSize(200, 100); // 设置宽高
    

    如果无法显示说明系统已限制。

  2. 系统级设置(以MIUI为例):

    • 进入 设置 > 应用管理 > Hamibot > 权限管理
      确认「显示悬浮窗」为蓝色允许状态
    • 进入 设置 > 电池与性能 > 省电策略
      将Hamibot设为「无限制」
    • 进入 设置 > 应用管理 > Hamibot > 自启动管理
      开启自启动权限
  3. 关闭内存清理
    在MIUI安全中心的「清理加速」中禁止Hamibot被清理

  4. 电源管理设置

    1. 设置 > 电池与性能 > 电池
    2. 找到Hamibot > 选择「不优化」
    3. 返回后点击「后台进程限制」
    4. 将Hamibot加入「不活动自动清理」白名单
    
  5. 最终解决方案
    如果以上方法无效,可尝试以下组合操作:

    // 创建常驻悬浮窗示例
    var window = floaty.window(
        <frame gravity="center">
            <text id="label" textSize="16sp">脚本运行中</text>
        </frame>
    );
    window.setSize(-2, -2); // 自适应内容大小
    window.setTouchable(false); // 禁用触摸穿透
    
    // 启动前台服务保活
    threads.start(function(){
        while(true){
            // 每30秒重置悬浮窗位置
            window.setPosition(device.width/2, device.height/2);
            sleep(30000);
        }
    });
    

文档地址 https://docs.hamibot.com/

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