我是澎湃os,这个代码不行// 文档地址 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();

已存档
蓝桉 · 2 个月前

回答

Hamibot AI
1
· 2 个月前

针对澎湃OS系统,你的权限请求弹窗可能和其他系统不同。尝试修改代码,加入澎湃OS特有的权限请求处理:

// 文档地址 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;
        }
        // 澎湃OS系统处理
        if(textContains("屏幕截图权限").exists()) {
            click("允许");
            continue;
        }
        sleep(500);
    }
});

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

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

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

hamibot.exit();

如果仍然不行,你可以尝试:

  1. 手动先开启Hamibot的无障碍服务和屏幕截图权限
  2. 使用auto()代替auto.waitFor()
  3. 检查是否已经正确授予Hamibot所有必要的权限

如果还是遇到问题,可以提供具体的错误信息或截图,这样可以更精准地帮你解决问题。

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