众所周知,我们可以使用AccessibilityService
来观察或查询任何应用程序的视图层次结构:
Create your own accessibility service
。
也可以对用户代表进行执行动作:
Create your own accessibility service
。
我的问题是,我们可以modify具有Developing an Accessibility Service for Android
的前景应用程序的视图层次结构吗?
Developing an Accessibility Service for Android
我已经提到了以下问题:
上述方法正在使用How do I add and remove a layout programmatically from an accessibility service?将视图粘贴到前台的应用程序顶部。这种方法的问题在于,如果用户按下BACK或HOME,则将关闭该应用程序,但是以这种方式创建的视图即使在应用程序关闭后仍在屏幕上可见。该视图位于视图层次结构的TOP上,而不是其一部分。
我的要求是显示小视图inwith应用本身。它必须是应用程序视图树的一部分,以便它保持不变或随应用程序一起使用。为此,我需要modify应用程序的视图树,即从服务中检索的Get view of AccessibilityNodeInfo to create overlay对象。
我想要的类似于WindowManager
,但是将AccessibilityNodeInfo
添加到应用程序本身的视图层次结构中,而不是放在其顶部。
这可能吗?
不,您不能修改另一个应用程序的视图层次结构,因为它存在于单独的进程中。
这类似于无法从可访问性服务中修改可访问性节点。