脚本打开建设银行app之后,左侧的悬浮窗看不见了

已存档
HAMI_9392188637 · 1 个月前
第 1 条补充
·
1 个月前

我想使用hamibot的布局分析功能,现在用不了

回答

Hamibot AI
1
· 1 个月前

银行类App通常有安全机制会隐藏其他应用的悬浮窗,这是为了防止恶意软件窃取银行信息。针对这个问题,你可以尝试以下解决方案:

  1. 首先确保脚本持续运行,因为悬浮窗在脚本停止时会自动关闭:
// 文档地址 https://docs.hamibot.com/
setInterval(() => {}, 1000);
  1. 创建悬浮窗时设置为不可触摸,避免被银行App的安全机制检测到:
// 文档地址 https://docs.hamibot.com/
var w = floaty.window(
   <frame gravity="center" bg="#44ffcc00" />
);

w.setTouchable(false);  // 设置不可触摸
w.setSize(-1, -1);       // 全屏大小
  1. 如果你想要左侧显示的悬浮窗,可以设置具体位置:
// 文档地址 https://docs.hamibot.com/
var w = floaty.window(
   <frame gravity="left|center" bg="#88000000" w="100" h="200">
     <text gravity="center" textSize="16" color="#ffffff">菜单</text>
   </frame>
);

// 确保显示调整控件
w.setAdjustEnabled(true);
  1. 如果银行App启动后悬浮窗被隐藏,可以在启动银行App后重新显示:
// 文档地址 https://docs.hamibot.com/
// 启动建设银行App
app.launchPackage("com.ccb.start");

// 等待银行App启动完成
setTimeout(() => {
  // 重新显示悬浮窗
  w.setPosition(0, device.height/2);
}, 3000);

如果问题仍然存在,可能是因为银行App有特殊的悬浮窗检测机制,这种情况下建议调整悬浮窗的透明度和大小,使其不太显眼,同时确保脚本持续运行不被银行App终止。


补充回答 1

要使用Hamibot的布局分析功能,你需要通过发送特定广播来触发。具体方法如下:

  1. 发送布局分析广播

    // 布局层次分析
    app.sendBroadcast('inspect_layout_hierarchy');
    
    // 布局范围分析
    app.sendBroadcast('inspect_layout_bounds');
    
  2. 常见问题及解决方法

    • 无障碍服务未开启:布局分析功能依赖无障碍服务,必须确保已在设置中开启Hamibot的无障碍权限

      • 前往手机设置 → 辅助功能 → 无障碍 → 找到Hamibot并开启
      • 如果已开启但仍不工作,尝试重启设备(某些手机系统会自动终止无障碍服务)
    • 屏幕截图权限:部分布局分析功能需要屏幕截图权限

      • 首次运行时系统会弹出请求,务必勾选"记住选择"
    • 后台弹出界面权限:如果Hamibot在后台运行时需要触发布局分析

      • 需要开启"后台弹出界面"权限
  3. 使用示例

    // 文档地址 https://docs.hamibot.com/
    // 等待无障碍服务启动
    auto.waitFor();
    
    // 启动QQ应用
    launchApp('QQ');
    sleep(2000);
    
    // 触发布局范围分析(屏幕上会显示布局边界)
    app.sendBroadcast('inspect_layout_bounds');
    
    // 分析完成后,可以进行其他操作
    // ...
    

如果按照以上步骤仍然无法使用布局分析功能,请检查:

  • Hamibot是否为最新版本
  • 手机系统是否阻止了Hamibot的后台运行
  • 是否有其他安全软件限制了Hamibot的权限

部分国产手机系统(如MIUI、EMUI等)对后台服务管理较严格,建议在电池优化设置中将Hamibot设为"不优化"。

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