代理事件

# 说明 代理事件模块运行的所有函数,是**需要激活设备**才能使用的。 激活设备后免root运行。 代理事件模块的对象前缀是agentEvent,例如 agentEvent.clickPoint 这样调用 这里列出来的是代理模式特有的函数,其他调用可以直接使用[全局快捷事件](doc:0xELpVp5) # 输入数据 ## setCurrentIme() 设置当前的输入法,用于输入数据 @return {boolean|布尔型} ```js let result = agentEvent.setCurrentIme(); if (result) { logi("设置输入法成功"); } else { utils.openIntentAction("android.settings.INPUT_METHOD_SETTINGS"); logi("设置输入法失败,请手动设置"); } ``` #### 设置默认输入法,并输入内容 ```js if(agentEvent.setCurrentIme()) { var node = clz("android.widget.EditText").getOneNodeInfo(10000); if (node) { logd(node.imeInputText("飞云编程学院")); } else { toast("无节点"); } logd('恢复输入法:' + agentEvent.restoreIme()); } else { loge('设置输入法失败'); } ``` ## restoreIme() 恢复到之前的输入法 @return {boolean|布尔型} ```js function main(){ logd('恢复输入法:' + agentEvent.restoreIme()); } main(); ``` # 截图 ## fastScreenshot() 快速截屏幕的截图 @param filename 文件路径 @return 字符串 截图的路径 ```js function main(){ var result = agentEvent.fastScreenshot("/sdcard/a.jpg"); toast("result:"+result); } main(); ``` # 手势及输入事件 ## inputEvent() 执行输入事件 @param action 动作,请看类: MotionEvent.ACTION_* @param x x坐标 @param y y坐标 @param metaState 控制按键,比如说shift键,alt键,ctrl键等控制键, 0或者 1 any meta info @return 布尔型 true 代表成功 false代表失败 ```js function main(){ var result = agentEvent.inputEvent(1,10,10,0); if (result){ toast("成功"); }else { toast("失败"); } } main(); ``` ## touchDown() 执行按下输入事件 @param x x坐标 @param y y坐标 @return 布尔型 true 代表成功 false代表失败 ```js function main(){ var result = agentEvent.touchDown(10,10); if (result){ toast("成功"); }else { toast("失败"); } } main(); ``` ## touchMove() 执行移动输入事件 @param x x坐标 @param y y坐标 @return 布尔型 true 代表成功 false代表失败 ```js function main(){ var result = agentEvent.touchMove(10,10); if (result){ toast("成功"); }else { toast("失败"); } } main(); ``` ## touchUp() 执行弹起输入事件 @param x x坐标 @param y y坐标 @return 布尔型 true 代表成功 false代表失败 ```js function main(){ var result = agentEvent.touchUp(10,10); if (result){ toast("成功"); }else { toast("失败"); } } main(); ``` ## pressKey() 模拟按键,例如home back等 @param key 对应的值分别为: home, back, left, right, up, down, center, menu, search, enter, delete(or del), recent(recent apps), volume_up, volume_down, volume_mute, camera, power @return 布尔型 true 成功, false 失败 ```js function main(){ var result = agentEvent.pressKey("home"); if (result){ toast("成功"); }else { toast("失败"); } } main(); ``` ## pressKeyCode() 模拟键盘输入 @param keyCode 键盘的key,参见KeyEvent.KEYCODE_* @return 布尔型 true 代表成功,false 代表失败 ```js function main(){ var result = agentEvent.pressKeyCode(65); if (result){ toast("成功"); }else { toast("失败"); } } main(); ``` ## pressKeyCodeWithMetaState() 模拟键盘输入 @param keyCode keyCode 键盘的key,参见KeyEvent.KEYCODE_* @param metaState metaState 控制按键,比如说shift键,alt键,ctrl键等控制键, 0或者 1 @return 布尔型 true 代表成功,false 代表失败。 ```js function main(){ var result = agentEvent.pressKeyCodeWithMetaState(65,1); if (result){ toast("成功"); }else { toast("失败"); } } main(); ``` # 系统按键相关 ## menu() 打开菜单 @return {null|布尔型} ```js function main(){ var result = agentEvent.menu(); if (result){ toast("成功"); }else { toast("失败"); } } main(); ``` ## enter() Enter键 @return {null|布尔型} ```js var result = agentEvent.enter(); if (result){ toast("成功"); }else { toast("失败"); } ``` ## delete() 删除键 @return {null|布尔型} ```js function main(){ var result = agentEvent.delete(); if (result){ toast("成功"); }else { toast("失败"); } } main(); ``` ## search() 搜索 @return {null|布尔型} ```js function main(){ var result = agentEvent.search(); if (result){ toast("成功"); }else { toast("失败"); } } main(); ``` # 屏幕控制 ## closeScreen() 关闭屏幕,屏幕不亮,但是依然可以自动点击,不同于sleepScreen @return 布尔型 true 成功,false 失败 ```js function main(){ var x =agentEvent.closeScreen(); } main(); ``` ## lightScreen() 点亮屏幕,和closeScreen相反的动作 @return 布尔型 true 成功,false 失败 ```js function main(){ var x =agentEvent.lightScreen(); } main(); ```