1. 说明

  • 代理事件模块运行的所有函数,是需要使用电脑激活才能使用的,免root
  • 代理事件模块的对象前缀是agentEvent,例如 agentEvent.clickPoint这样调用
  • 这里列出来的是代理模式特有的函数,其他调用可以直接使用全局函数

2. 输入数据

2.1. setCurrentIme

  • 设置当前的输入法,用于输入数据
  • @return {boolean|布尔型}

function main(){
    var result = agentEvent.setCurrentIme();
    if (result){
        toast("是");
    }else {
        toast("否");
    }
}
main();

2.2. restoreIme

  • 恢复到之前的输入法
  • @return {boolean|布尔型}

function main(){
    var result = agentEvent.restoreIme();
    if (result){
        toast("是");
    }else {
        toast("否");
    }
}
main();

3. 截图

3.1. fastScreenshot

  • 快速截屏幕的截图
  • @param filename 文件路径
  • @return 字符串 截图的路径

function main(){
    var result = agentEvent.fastScreenshot("/sdcard/a.jpg");
    toast("result:"+result);
}
main();

3.2. takeNodeScreenshot

  • 通过选择器截取选中的元素截图
  • @param selectors {@link NodeSelectors}元素选择器
  • @param filePath 最终文件路径
  • @return 布尔型 true 代表成功 false代表失败

function main(){
    var selectors = clz("android.widget.TextView");
    var result = agentEvent.takeNodeScreenshot(selectors,"/sdcard/a.png");
    toast("result:"+result);
}
main();

3.3. takeScreenshot

  • 获取屏幕截图并保存到文件中
  • @param fileName 文件路径
  • @return 布尔型 截图成功返回 true

function main(){
    var result = agentEvent.takeScreenshot("/sdcard/a.png");
    toast("result:"+result);
}
main();

3.4. takeScreenshotImage

  • 截图返回autoimage对象 ,(底层命令截图 速度大概1-2秒)
  • @return AutoImage 对象或者null

function main(){
    var result = agentEvent.takeScreenshotImage();
    toast("result:"+result);
}
main();

3.5. takeScreenshotMore

  • 取得一张屏幕的截图
  • @param filename 文件路径
  • @param scale 缩放比例 0 ~ 1
  • @param quality 图片质量 0 - 100
  • @return 字符串 截图的路径

function main(){
    var result = agentEvent.takeScreenshotMore("/sdcard/a.png",1,50);
    toast("result:"+result);
}
main();

4. 手势及输入事件

4.1. inputEvent

  • 执行输入事件
  • @param action 动作,请看类: MotionEvent.ACTION_*
  • @param x x坐标
  • @param y y坐标
  • @param metaState 控制按键,比如说shift键,alt键,ctrl键等控制键, 0或者 1 any meta info
  • @return 布尔型 true 代表成功 false代表失败

function main(){
    var result = agentEvent.inputEvent(1,10,10,0);
    if (result){
        toast("成功");
    }else {
        toast("失败");
    }
}
main();

4.2. touchDown

  • 执行按下输入事件
  • @param x x坐标
  • @param y y坐标
  • @return 布尔型 true 代表成功 false代表失败

function main(){
    var result = agentEvent.touchDown(10,10);
    if (result){
        toast("成功");
    }else {
        toast("失败");
    }
}
main();

4.3. touchMove

  • 执行移动输入事件
  • @param x x坐标
  • @param y y坐标
  • @return 布尔型 true 代表成功 false代表失败

function main(){
    var result = agentEvent.touchMove(10,10);
    if (result){
        toast("成功");
    }else {
        toast("失败");
    }
}
main();

4.4. touchUp

  • 执行弹起输入事件
  • @param x x坐标
  • @param y y坐标
  • @return 布尔型 true 代表成功 false代表失败

function main(){
    var result = agentEvent.touchUp(10,10);
    if (result){
        toast("成功");
    }else {
        toast("失败");
    }
}
main();

4.5. multiTouch 多点触摸

  • 多点触摸
  • 触摸参数: action :一般情况下 按下为0,弹起为1,移动为2
  • x: X坐标
  • y: Y坐标
  • pointer:设置第几个手指触摸点,分别是 1,2,3等,代表第n个手指
  • delay: 该动作延迟多少毫秒执行
  • @param touch1 第1个手指的触摸点数组,例如:[{"action":0,"x":1,"y":1,"pointer":1,"delay":20},{"action":2,"x":1,"y":1,"pointer":1,"delay":20}]
  • @param touch2 第2个手指的触摸点数组
  • @param touch3 第3个手指的触摸点数组
  • @param timeout 多点触摸执行的超时时间,单位是毫秒
  • @return boolean|布尔型

function main() {
   utils.openAppByName("抖音短视频");
   sleep(3000);
  //第一种数组式的写法
   var touch1 = [

       {"action": 0, "x": 500, "y": 1200, "pointer": 1, "delay": 1},
       {
           "action": 2,
           "x": 500,
           "y": 1100,
           "pointer": 1,
           "delay": 20
       }, {
           "action": 2,
           "x": 500,
           "y": 1000,
           "pointer": 1,
           "delay": 20
       },
       {
           "action": 1,
           "x": 1,
           "y": 1,
           "pointer": 1,
           "delay": 20
       }];


  //第二种链式调用方法
   var touch2 = MultiPoint
       .get()
       .action(0).x(500).y(1200).pointer(1).delay(1)
       .next()
       .action(2).x(500).y(1100).pointer(1).delay(1)
       .next()
       .action(2).x(500).y(1000).pointer(1).delay(1)
       .next()
       .action(2).x(500).y(900).pointer(1).delay(1)
       .next()
       .action(1).x(500).y(800).pointer(1).delay(1);
   var touch1 = MultiPoint
       .get()
       .action(0).x(300).y(1200).pointer(2).delay(1)
       .next()
       .action(2).x(300).y(1100).pointer(2).delay(1)
       .next()
       .action(2).x(300).y(1000).pointer(2).delay(1)
       .next()
       .action(2).x(300).y(900).pointer(2).delay(1)
       .next()
       .action(1).x(300).y(800).pointer(2).delay(1);
   var x = agentEvent.multiTouch(touch1, touch2, null, 30000);
   logd("xxs " + x);
}
main();

4.6. 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 失败

function main(){
    var result = agentEvent.pressKey("home");
    if (result){
        toast("成功");
    }else {
        toast("失败");
    }
}
main();

4.7. pressKeyCode

  • 模拟键盘输入
  • @param keyCode 键盘的key,参见KeyEvent.KEYCODE_*
  • @return 布尔型 true 代表成功,false 代表失败

function main(){
    var result = agentEvent.pressKeyCode(65);
    if (result){
        toast("成功");
    }else {
        toast("失败");
    }
}
main();

4.8. pressKeyCodeWithMetaState

  • 模拟键盘输入
  • @param keyCode keyCode 键盘的key,参见KeyEvent.KEYCODE_*
  • @param metaState metaState 控制按键,比如说shift键,alt键,ctrl键等控制键, 0或者 1
  • @return 布尔型 true 代表成功,false 代表失败。

function main(){
    var result = agentEvent.pressKeyCodeWithMetaState(65,1);
    if (result){
        toast("成功");
    }else {
        toast("失败");
    }
}
main();

5. 系统按键相关

  • 打开菜单
  • @return {null|布尔型}

function main(){
    var result = agentEvent.menu();
    if (result){
        toast("成功");
    }else {
        toast("失败");
    }
}
main();

5.2. enter

  • Enter键
  • @return {null|布尔型}
var result = agentEvent.enter();
if (result){
    toast("成功");
}else {
    toast("失败");
}

} main(); ```

5.3. delete

  • 删除键
  • @return {null|布尔型}

function main(){
    var result = agentEvent.delete();
    if (result){
        toast("成功");
    }else {
        toast("失败");
    }
}
main();
  • 搜索
  • @return {null|布尔型}

function main(){
    var result = agentEvent.search();
    if (result){
        toast("成功");
    }else {
        toast("失败");
    }
}
main();

5.5. orientationRight

  • 向右旋转
  • @return {字符串|null}

function main(){
     agentEvent.orientationRight();
}
main();

5.6. orientationNatural

  • 自然状态
  • @return {字符串|null}

function main(){
    agentEvent.orientationNatural();
}
main();

5.7. orientationNatural

  • 自然状态
  • @return {字符串|null}

function main(){
    agentEvent.orientationNatural();
}
main();

6. 屏幕控制

6.1. closeScreen

  • 关闭屏幕,屏幕不亮,但是依然可以自动点击,不同于sleepScreen
  • @return 布尔型 true 成功,false 失败

function main(){
    var x =agentEvent.closeScreen();
}
main();

6.2. lightScreen

  • 点亮屏幕,和closeScreen相反的动作
  • @return 布尔型 true 成功,false 失败

function main(){
    var x =agentEvent.lightScreen();
}
main();

6.3. isScreenOn

  • 检查屏幕是否是点亮的
  • @return 布尔型 true 成功,false 失败

function main(){
    var x =agentEvent.isScreenOn();
}
main();

6.4. wakeUp

  • 唤醒设备
  • @return 布尔型 true 成功,false 失败

function main(){
    var x =agentEvent.wakeUp();
}
main();

7. 其他函数

  • 其他包括 滚动,缩放,flip手势等,请查看js代码

results matching ""

    No results matching ""