辅助功能服务分派手势扫动屏幕未点击

问题描述

我一直试图通过单击而不是滑动来使可访问性服务dispatchGesture。 这段代码只是在屏幕上向下滑动,实际上并没有单击x,y线。


我尝试过的。

Path clickPath = new Path();
clickPath.moveto(Float.intBitsToFloat(x),Float.intBitsToFloat(y));
GestureDescription.Builder gestureBuilder = new GestureDescription.Builder();
gestureBuilder.addstroke(new GestureDescription.strokeDescription(clickPath,1));
dispatchGesture(gestureBuilder.build(),null,null);

我也尝试过替换clickPath.moveto添加clickPath.addCircle和clickPath.addRect,但是这两个都使应用程序崩溃。

解决方法

我知道这个问题是几个月前的,但据我所知,你的持续时间太短了。我无法获得持续时间少于 50 毫秒的触摸事件进行注册。我还通过了一个自定义处理程序:

val handler = Handler(Looper.myLooper()!!)

这其中之一或两者可能是它对您不起作用的原因。总的来说,你似乎和我在做同样的事情,而且我在这方面取得了一些成功。