Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug]:悬浮窗应用于无障碍模拟点击出现的问题 #75

Open
rianlu opened this issue Oct 28, 2024 · 10 comments
Open

[Bug]:悬浮窗应用于无障碍模拟点击出现的问题 #75

rianlu opened this issue Oct 28, 2024 · 10 comments
Labels
bug Something isn't working

Comments

@rianlu
Copy link

rianlu commented Oct 28, 2024

框架版本【必填】

v10.62

问题描述【必填】

我现在使用EasyWindow显示悬浮窗,并且获取悬浮窗的坐标,使用无障碍五福模拟点击,但是我发现一个问题,就是模拟点击实际已经生效,但是似乎点在了悬浮窗上,没有往下透传(这里我做了一个测试,就是开启模拟点击以后,移开悬浮窗,点击能够正常生效)

后面我设置了setWindowType(WindowManager.LayoutParams.TYPE_ACCESSIBILITY_OVERLAY),点击能够透传了,但是悬浮窗的UI消失了。。。,就很奇怪,

复现步骤【必填】

通过悬浮窗标记要点击的位置,通过无障碍模拟点击
以下是无障碍模拟点击的代码片段

val builder = GestureDescription.Builder()
        val path = Path()
        path.moveTo(pointX, pointY)
        path.lineTo(pointX, pointY)
        builder.addStroke(GestureDescription.StrokeDescription(path, 0, 1))
        val gesture = builder.build()
        dispatchGesture(gesture, object : GestureResultCallback() {
            override fun onCancelled(gestureDescription: GestureDescription) {
                super.onCancelled(gestureDescription)
            }

            override fun onCompleted(gestureDescription: GestureDescription) {
                super.onCompleted(gestureDescription)
            }
        }, null)

是否必现【必填】

项目 targetSdkVersion【必填】

34

出现问题的手机信息【必填】

Redmi Note 12 Turbo

出现问题的安卓版本【必填】

Android 14

问题信息的来源渠道【必填】

自己遇到的

是部分机型还是所有机型都会出现【必答】

全部

框架最新的版本是否存在这个问题【必答】

框架文档是否提及了该问题【必答】

是否已经查阅框架文档但还未能解决的【必答】

issue 列表中是否有人曾提过类似的问题【必答】

是否已经搜索过了 issue 列表但还未能解决的【必答】

是否可以通过 Demo 来复现该问题【必答】

提供报错堆栈

No response

提供截图或视频

185_1730103651.mp4

提供解决方案

No response

@rianlu rianlu added the bug Something isn't working label Oct 28, 2024
@getActivity
Copy link
Owner

FloatingX?这个不是我的框架,你是不是找错人了?

@rianlu
Copy link
Author

rianlu commented Oct 29, 2024

FloatingX?这个不是我的框架,你是不是找错人了?

打错名字了,尴尬,我现在用的确实是您的框架EasyWindow,您方便的话看看我描述的这个问题,是什么情况

@getActivity
Copy link
Owner

上传一个可供复现的 demo 工程给我

@rianlu
Copy link
Author

rianlu commented Oct 30, 2024

上传一个可供复现的 demo 工程给我

直接运行就可以看到了,我写了两种打开方式,区别就是是否添加setWindowType(WindowManager.LayoutParams.TYPE_ACCESSIBILITY_OVERLAY)
EasyWindow.zip

@getActivity
Copy link
Owner

image

@getActivity
Copy link
Owner

代码怎么没有看到?

@rianlu
Copy link
Author

rianlu commented Oct 31, 2024

代码怎么没有看到?

有的,你看看是不是我的demo和你的重名了,我这边解压能看到
image

@getActivity
Copy link
Owner

EasyWindow-10.8.aar.zip

@getActivity
Copy link
Owner

image

@getActivity
Copy link
Owner

你如果要设置 Window 类型为 TYPE_ACCESSIBILITY_OVERLAY,传入的上下文的类型应该是 AccessibilityService,你下载上面的 aar 包,然后修改一下这块的代码即可。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants