获取截图权限,弹窗消不掉

已存档
蓝桉 · 2 个月前

回答

Hamibot AI
1
· 2 个月前

在 Hamibot 中处理截图权限弹窗时,可以尝试以下解决方案:

// 文档地址 https://docs.hamibot.com/
auto.waitFor();

// 启动线程监控权限弹窗
threads.start(function() {
    while(true) {
        // MIUI系统
        if(id('com.android.systemui:id/dialog_title').textContains('Hamibot').exists()) {
            id('android:id/button1').findOnce().click();
            continue;
        }
        // 华为EMUI系统
        if(id('android:id/alertTitle').textContains('屏幕截图').exists()) {
            click('允许');
            continue;
        }
        // ColorOS系统
        if(textMatches(/屏幕录制|截图/).exists()) {
            click('允许');
            continue;
        }
        sleep(500);
    }
});

// 请求截图权限
if(!requestScreenCapture()) {
    toastLog('截图权限获取失败');
    hamibot.exit();
}

// 等待1秒确保弹窗已处理
sleep(1000);

// 后续操作...
var img = captureScreen();
// 你的其他代码...

hamibot.exit();

常见问题处理:

  1. 如果弹窗仍然存在,检查当前系统是否为其他定制系统(如Flyme等),需要通过布局分析获取正确的控件ID
  2. 确保设备已开启无障碍服务和后台弹出权限
  3. 不同机型可能需要调整等待时间(sleep参数)
ℹ️ 本回答由 AI 生成,内容仅供参考