使用辅助服务修改另一个应用程序的视图层次结构

Y.S*_*Y.S 5 android accessibility android-view android-windowmanager android-viewgroup

众所周知,我们可以使用以下命令观察查询任何应用程序的视图层次结构AccessibilityService

Create your own accessibility service

还可以代表用户执行操作

Developing an Accessibility Service for Android

我的问题是,我们可以使用修改前台应用程序的视图层次结构吗AccessibilityService

在此输入图像描述

我已经提到了以下问题:

他们正在做的是使用WindowManagerSYSTEM_ALERT_WINDOW权限在前台的应用程序顶部覆盖视图。这种方法的问题是,如果用户按BACKHOME,应用程序将被关闭,但视图在屏幕上仍然可见,即使应用程序消失后也是如此。该视图位于视图层次结构的顶部,而不是它的一部分。

  • 有没有办法添加/修改AccessibilityNodeInfo对象?
  • View这些与 a或相同吗ViewGroup
  • 我们是否允许使用 来添加视图或修改现有视图AccessibilityService

我的要求是在应用程序本身显示一个小视图。它必须是应用程序视图层次结构的一部分,以便它与应用程序一起保留或消失。为此,我需要修改应用程序的视图层次结构,即AccessibilityNodeInfo从服务检索的对象。

我想要的是类似于 的东西addView(),但将 添加View到应用程序本身的视图层次结构中,而不是在其之上。

我们应该怎么做?这可能吗?

更新

支持自定义辅助视图的应用程序