辅助功能覆盖:无法在 EditText 字段中键入

Accessibility Overlay: Can't type in EditText field

我有一个包含 EditText 的叠加层。问题是我无法在该叠加层中键入任何文本。如果我使用 FLAG_LOCAL_FOCUS_MODE 标志,我可以在通过模拟器 运行 连接我的应用程序时使用我的桌面键盘在该字段中键入内容。但是我无法使用模拟器中的软键盘或将应用程序推送到我的 phone.

时输入该字段

我四处寻找这个,但找不到任何东西。我错过了一面旗帜吗?这是我的 [kotlin] 代码:(感谢您的帮助。)

    val lp = WindowManager.LayoutParams()
    lp.gravity = Gravity.TOP
    lp.format = PixelFormat.TRANSLUCENT
    lp.width = WindowManager.LayoutParams.MATCH_PARENT
    lp.height = WindowManager.LayoutParams.WRAP_CONTENT
    lp.type = WindowManager.LayoutParams.TYPE_ACCESSIBILITY_OVERLAY
    lp.flags = lp.flags or WindowManager.LayoutParams.FLAG_LOCAL_FOCUS_MODE

    val wm = getSystemService(WINDOW_SERVICE) as WindowManager
    wm.addView(overlayLayout, lp)

*我知道可访问性叠加层是一个巨大的安全问题,这只是我为自己制作的一个有趣的项目,只会 运行 我的 phone。

我已经考虑过了,我认为在使用覆盖层窃取密码和信用卡的所有坏消息之后 Android 刚刚开始阻止对覆盖层中任何内容的所有键盘输入。

但我认为我的桌面键盘仍然可以使用,因为它作为不同的输入或事件进入,没有被阻止,所以它的行为正常。

也许有一天这会为某人节省几个小时...