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. 系统按键相关
5.1. menu
- 打开菜单
- @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();
5.4. search
- 搜索
- @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代码