-
Notifications
You must be signed in to change notification settings - Fork 199
API文档
Ven edited this page Aug 25, 2024
·
6 revisions
| 方法 | 说明 |
|---|---|
| openAccessibilitySetting() | 打开无障碍服务设置 |
| isAccessibilityServiceEnabled() | 检查无障碍服务是否开启 |
| getPackageName() | 获取当前窗口所属包名 |
| findById(id: String) | 通过id查找所有符合条件元素 |
| AccessibilityNodeInfo?.findById(id: String) | 在当前元素范围下,通过id查找所有符合条件元素 |
| findByText(text: String) | 通过文本查找所有符合条件元素 |
| AccessibilityNodeInfo?.findByText(text: String) | 在当前元素范围下,通过文本查找所有符合条件元素 |
| findByTags(className: String) | 根据元素类型查找元素 |
| AccessibilityNodeInfo.findByTags(className: String) | 在当前元素范围下,根据类型查找元素 |
| getAllNodes() | 获取所有元素 |
| AccessibilityNodeInfo.getNodes() | 获取当前元素下所有子元素 |
| AccessibilityNodeInfo.findFirstParentClickable() | 查找第一个可点击的父元素 |
| AccessibilityNodeInfo.getBoundsInScreen() | 获取当前元素在屏幕中的范围 |
| AccessibilityNodeInfo.gestureClick() | 手势点击当前元素所处的位置 |
| AccessibilityNodeInfo.gestureLongClick() | 手势长按元素所处的位置 |
| AccessibilityNodeInfo.click() | 点击当前元素 |
| gesture() | 手势模拟,点击/路径 |
| gestureClick | 点击屏幕指定位置 |
| back() | 返回 |
| home() | 回到主页 |
| notifications() | 显示通知栏 |
| tasks() | 查看最近任务 |
| getX(baseWidth: Int, x: Int) | 根据基准分辨率宽度获取对应当前设备分辨率的x坐标 |
| getY(baseHeight: Int, y: Int) | 根据基准分辨率高度获取对应当前设备分辨率的y坐标 |
| AccessibilityNodeInfo.paste(text: String?) | 粘贴文本到当前元素 |
| AccessibilityNodeInfo.log() | 控制台输出当前元素信息 |
| 方法 | 说明 |
|---|---|
| next(step,next) | 单次步骤,step步骤序号,next步骤逻辑 |
| nextLoop(step,loopDuration,loopInterval,next) | 循环步骤,step步骤序号,loopDuration循环时长,loopInterval循环间隔,next步骤逻辑 |
| 方法 | 说明 |
|---|---|
| execute(stepImpl,step) | 执行步骤,stepImpl 执行的业务实现类,step 步骤序号 |
图像识别模块主要是对opencv的模板匹配api和Android的屏幕图像获取进行了一层封装,下面是所封装api的使用说明
Assists.isEnableScreenCapture()
Assists.requestScreenCapture()
OpencvWrapper.getScreen()
OpencvWrapper.getTemplateFromAssets()
OpencvWrapper.createMask(
source: Mat, //原图像
lowerScalar: Scalar, 可操作区域最低rgb
upperScalar: Scalar, 可操作区域最高rgb
requisiteExtraRectList: List<Rect> = arrayListOf(), //不可操作区域
redundantExtraRectList: List<Rect> = arrayListOf() //可操作区域,即图像匹配有效区域
)
添加掩膜进行模板匹配可大大提高匹配准确度,掩膜是一个黑白色的图像,白色为匹配的区域,黑色为不匹配区域,通过仅匹配关键区域提高匹配准确度
OpencvWrapper.matchTemplate(image: Mat?, template: Mat?, mask: Mat? = null)
image大图图像
template模板图像,即小图
mask掩膜
返回所有匹配结果,按需求进行筛选
OpencvWrapper.matchTemplateFromScreenToMinMaxLoc(image: Mat?, template: Mat?, mask: Mat? = null)
image大图图像
template模板图像,即小图
mask掩膜
返回最佳匹配结果
OpencvWrapper.getResultWithThreshold(
result: Mat,
threshold: Double,
ignoreX: Double = -1.0,
ignoreY: Double = -1.0,
)
result匹配结果
threshold匹配值,范围0-1,0最低匹配值,1最高匹配值
ignoreX忽略的x轴范围
ignoreY忽略的y轴范围
返回符合条件的匹配坐标列表
更多待完善...