请选择 进入手机版 | 继续访问电脑版

AccessibilityService+GestureDescription+AccessibilityNodeInfo坐标计算+

[复制链接]
谭先生 发表于 2021-1-1 18:31:06 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
首先在xml中增加设置
  1. [/code] 重点是     android:canPerformGestures="true"
  2. 详细代码
  3. [code]    @RequiresApi(api = Build.VERSION_CODES.N)    public static boolean clickByNode(AccessibilityService service, AccessibilityNodeInfo nodeInfo) {        if (service == null || nodeInfo == null) {            return false;        }        Rect rect = new Rect();        nodeInfo.getBoundsInScreen(rect);        int x = (rect.left + rect.right) / 2;        int y = (rect.top + rect.bottom) / 2;        Point point = new Point(x, y);        GestureDescription.Builder builder = new GestureDescription.Builder();        Path path = new Path();        path.moveTo(point.x, point.y);        builder.addStroke(new GestureDescription.StrokeDescription(path, 0L, 100L));        GestureDescription gesture = builder.build();        boolean isDispatched = service.dispatchGesture(gesture, new AccessibilityService.GestureResultCallback() {            @Override            public void onCompleted(GestureDescription gestureDescription) {                super.onCompleted(gestureDescription);//                LogUtil.d(TAG, "dispatchGesture onCompleted: 完成...");            }            @Override            public void onCancelled(GestureDescription gestureDescription) {                super.onCancelled(gestureDescription);//                LogUtil.d(TAG, "dispatchGesture onCancelled: 取消...");            }        }, null);        return isDispatched;    }
复制代码
如果执行到 onCancelled 里,表现失败,需要看看xml是否设置乐成

来源:https://blog.csdn.net/linzhiji/article/details/111941975
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


专注素材教程免费分享
全国免费热线电话

18768367769

周一至周日9:00-23:00

反馈建议

27428564@qq.com 在线QQ咨询

扫描二维码关注我们

Powered by Discuz! X3.4© 2001-2013 Comsenz Inc.( 蜀ICP备2021001884号-1 )