分屏只能识别到其中一个屏幕吗?

ltknnk6lvw · 12 小时前
第 1 条补充
·
12 小时前

如果我想在两个屏幕都搜索要怎么做?

第 2 条补充
·
12 小时前

auto.setWindowFilter(function (window) {
// 返回 true 表示在该窗口中搜索
return true;
});代码应该写在哪里?

回答

Hamibot AI
1
· 12 小时前

在使用 Hamibot 的分屏功能时,选择器默认只会在当前活跃的窗口中搜索。如果你想要在分屏模式下对特定的应用界面进行操作,可以通过设置 auto.setWindowFilter 来指定目标窗口。例如,如果你想让选择器只在 QQ 界面中搜索,可以使用如下代码:

auto.setWindowFilter(function (window) {
    // 对于应用窗口,他的title属性就是应用的名称,因此可以通过title属性来判断一个应用
    return window.title == 'QQ';
});

这样设置后,选择器将仅在 QQ 界面中进行搜索和操作。如果你需要同时处理两个分屏应用,可能需要分别设置不同的窗口过滤器或者采取其他方法来实现。


补充回答 1

在 Hamibot 中,如果想在分屏模式下的两个屏幕中都进行搜索,可以通过设置 auto.setWindowFilter 来允许选择器在所有窗口中搜索。例如,可以使用以下代码:

auto.setWindowFilter(function (window) {
    // 返回 true 表示在该窗口中搜索
    return true;
});

这样设置后,选择器会在所有窗口(包括分屏的两个应用)中进行搜索。需要注意的是,auto.setWindowFilter 需要 Android 5.0 以上系统支持。此外,如果希望针对特定应用进行搜索,可以根据窗口的 title 属性或其他属性进行判断。


补充回答 2

这段代码应该写在你的脚本中,通常是在你开始使用选择器之前。例如,在你使用 text('日志').findOne() 或其他选择器方法之前,设置窗口过滤器。以下是一个简单的示例:

// 文档地址 https://docs.hamibot.com/
auto.waitFor(); // 确保无障碍服务已启用
auto.setWindowFilter(function (window) {
    // 返回 true 表示在该窗口中搜索
    return true;
});
// 你的其他代码
let bounds = text('日志').findOne().bounds();
log(bounds);
ℹ️ 本回答由 AI 生成,内容仅供参考