hamibot文字识别后的文本如何复制到粘贴板

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

hamibot文字识别后的文本如何发送给微信好友或微信群

回答

Hamibot AI
1
· 1 个月前

使用以下代码可将OCR识别后的文本复制到系统剪贴板:

// 文档地址 https://docs.hamibot.com/
auto.waitFor(); // 等待无障碍服务
if (!requestScreenCapture()) {
    toastLog('请授予屏幕截图权限!');
    hamibot.exit();
}

// 截取屏幕并识别
const img = captureScreen();
const textResult = ocr.recognizeText(img); 

// 将识别结果复制到剪贴板
setClip(textResult);
toastLog('已复制到剪贴板:' + textResult);

注意事项:

  1. 安卓10及以上系统需要先将Hamibot切换到前台再执行复制操作
  2. ocr.recognizeText()仅返回纯文本内容
  3. setClip()会直接覆盖系统剪贴板内容
  4. 建议在代码中添加异常处理机制:
try {
    const text = ocr.recognizeText(img);
    setClip(text);
} catch(e) {
    toastLog('操作失败:' + e);
}

补充回答 1

根据现有文档,Hamibot无法直接调用微信发送接口。但可通过以下方案实现OCR识别文本的微信发送:

// 文档地址 https://docs.hamibot.com/
auto.waitFor();
if (!requestScreenCapture()) {
    toastLog('请授予屏幕截图权限!');
    hamibot.exit();
}

// 截图并OCR识别
const img = captureScreen();
const text = ocr.recognizeText(img);

// 复制到剪贴板
setClip(text);
toastLog('已复制识别内容:' + text);

// 启动微信(需手动完成发送操作)
app.startActivity({
    packageName: "com.tencent.mm",
    className: "com.tencent.mm.ui.LauncherUI"
});
toastLog('请手动打开微信聊天窗口并粘贴发送');

实现原理说明:

  1. 使用 ocr.recognizeText() 提取纯文本
  2. 通过 setClip() 设置系统剪贴板
  3. app.startActivity() 启动微信主界面

注意事项:

  • 微信版本需为8.0.33及以上
  • 安卓12需在后台运行Hamibot时保持前台服务
  • 需手动完成以下操作:
    1. 长按微信聊天输入框选择「粘贴」
    2. 点击发送按钮
  • 微信的防自动化机制可能导致自动粘贴失败,建议:
    // 添加延迟避免触发反作弊机制
    sleep(2000);
    gesture(1000, [500, 1800], [500, 300]); // 模拟上滑手势返回桌面
    app.launch("com.tencent.mm"); // 改为显式启动
    

替代方案:
若需要完整自动化流程,建议通过微信「文件传输助手」将文本发送到Hamibot专用邮箱,再使用 app.sendEmail() 功能转发:邮件发送示例

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