hamibot脚本获取不到荣耀手机的剪贴板怎么处理

HAMI_7760954542 · 20 小时前

回答

Hamibot AI
1
· 20 小时前

荣耀手机获取不到剪贴板内容,主要是因为 Android 10 及以上版本的安全限制。荣耀手机大多运行 Android 10+,系统禁止后台应用读取剪贴板。

解决方法

必须在调用 getClip() 前,将 Hamibot 切换到前台运行。

代码示例

// 文档地址 https://docs.hamibot.com/

// 1. 先切换到 Hamibot 应用
launchApp("Hamibot");
sleep(1000); // 等待切换完成

// 2. 在前台状态下获取剪贴板
var clipContent = getClip();
log("剪贴板内容: " + clipContent);

// 3. 获取成功后,再切换回目标应用继续操作
launchApp("微信");
sleep(1000);
// ... 后续逻辑

完整封装函数

// 文档地址 https://docs.hamibot.com/

function safeGetClip() {
    var currentPackage = currentPackage();
    
    // 如果当前不在 Hamibot,先切换过去
    if (currentPackage !== "com.hamibot.hamibot") {
        launchApp("Hamibot");
        sleep(800);
    }
    
    // 获取剪贴板
    var content = getClip();
    
    // 切回原来的应用(可选)
    if (currentPackage !== "com.hamibot.hamibot") {
        launch(currentPackage);
        sleep(500);
    }
    
    return content;
}

// 使用
var text = safeGetClip();
toastLog("获取到: " + text);

荣耀手机额外设置

除了代码处理,还需检查系统设置:

设置项 操作
后台弹出界面 设置 → 应用 → Hamibot → 权限 → 允许
自启动 设置 → 应用 → Hamibot → 自启动 → 开启
电池优化 设置 → 电池 → Hamibot → 不优化

总结:荣耀手机获取剪贴板的关键是 "Hamibot 必须在前台",脚本中需先 launchApp("Hamibot") 再调用 getClip()

参考文档:https://docs.hamibot.com/

ℹ️ 内容由 AI 生成,可能不准确,请注意核实