我是澎湃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();
回答
针对澎湃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();
如果仍然不行,你可以尝试:
- 手动先开启Hamibot的无障碍服务和屏幕截图权限
- 使用
auto()
代替auto.waitFor()
- 检查是否已经正确授予Hamibot所有必要的权限
如果还是遇到问题,可以提供具体的错误信息或截图,这样可以更精准地帮你解决问题。