回答
由于Android系统的安全机制,Hamibot无法直接全局拦截软键盘的每一次按键输入。系统级键盘监听需要自定义输入法或Root权限,这超出了Hamibot的标准能力范围。
你可以通过无障碍服务监听当前焦点输入框的文本变化来实现近似效果。以下脚本会在后台运行,当检测到任意可编辑输入框的内容包含“cnm”或“草泥马”时,自动打开原神官网。
// 文档地址 https://docs.hamibot.com/
auto.waitFor();
// 启动无障碍事件监听
events.observeAccessibilityEvent();
events.onAccessibilityEvent(function(event) {
var eventType = event.getEventType();
// 监听窗口内容变化事件
if (eventType === android.view.accessibility.AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED) {
var node = event.getSource();
if (node && node.isEditable()) {
var textObj = node.getText();
if (textObj) {
var content = textObj.toString();
if (content.indexOf("cnm") !== -1 || content.indexOf("草泥马") !== -1) {
app.openUrl("https://ys.mihoyo.com/");
toast("已触发跳转原神官网");
}
}
}
}
});
console.log("监听服务已启动,请在任意输入框中键入 cnm 或 草泥马");
// 保持脚本常驻运行
setInterval(function() {}, 1000);
使用与注意事项:
- 运行前需在Hamibot中开启并授予“无障碍服务”权限。
- 该方案依赖Android无障碍事件,仅在输入框内容发生变化时触发。部分应用(如游戏内聊天框、密码输入框、自定义UI控件)可能不暴露文本节点,会导致监听失效。
- 脚本会持续在后台运行,建议在不需要时手动停止,以降低电量消耗。
- 代码已严格适配Hamibot使用的Rhino 1.7.15引擎,未使用箭头函数、默认参数或ES6语法。
- 若你需要针对特定应用(如微信、QQ、浏览器)进行精准监听,或希望改用更稳定的触发方式(如悬浮窗按钮、音量键组合、快捷指令),你可以告诉我具体场景,我会为你调整脚本逻辑。
ℹ️ 内容由 AI 生成,可能不准确,请注意核实