回答
在 Hamibot 中实现复制和粘贴功能,主要分为系统剪贴板操作和输入框控件操作两种方式。以下是具体用法和示例代码:
// 文档地址 https://docs.hamibot.com/
// 方式一:操作系统剪贴板(全局通用)
// 设置剪贴板内容
setClip("这是要复制的文本");
toast("已复制到系统剪贴板");
// 获取剪贴板内容
var clipContent = getClip();
toast("当前剪贴板内容为: " + clipContent);
// 方式二:操作输入框控件(针对特定App的输入框)
// 假设已通过 id/text 等方式获取到输入框控件对象 et
// var et = id("your_input_id").findOne();
// 1. 先选中文本(例如选中索引0到2的字符)
// et.setSelection(0, 2);
// 2. 执行复制
// if (et.copy()) {
// toast("控件文本复制成功");
// } else {
// toast("控件文本复制失败");
// }
// 3. 执行粘贴(将系统剪贴板内容粘贴到该输入框)
// if (et.paste()) {
// toast("粘贴成功");
// } else {
// toast("粘贴失败");
// }
关键注意事项:
- 安卓 10 及以上系统限制:调用
setClip()和getClip()前,必须先将 Hamibot 应用切换到前台,否则系统会拦截剪贴板读写操作,导致函数无作用。 - 控件操作前提:
copy()和paste()仅对输入框类控件有效。使用copy()前必须通过setSelection(start, end)明确选中文本范围,否则无法触发复制。 - 脚本引擎兼容性:Hamibot 底层使用 Rhino 1.7.15 引擎,编写脚本时请使用
var声明变量,避免使用箭头函数、let/const或函数默认参数,以确保稳定运行。
根据你的实际需求选择对应方式。如果是跨应用传递文本,使用系统剪贴板;如果是自动化读取或填写某个 App 的输入框,使用控件方法。如有具体目标控件或场景,可提供详细信息以便进一步优化代码。
ℹ️ 内容由 AI 生成,可能不准确,请注意核实