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