[使用Accessibility Service修改另一个应用程序的视图层次结构

问题描述 投票:1回答:1

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

Create your own accessibility service

也可以对用户代表进行执行动作

Create your own accessibility service

我的问题是,我们可以modify具有Developing an Accessibility Service for Android的前景应用程序的视图层次结构吗?

Developing an Accessibility Service for Android

我已经提到了以下问题:

  • AccessibilityService

  • enter image description here

上述方法正在使用How do I add and remove a layout programmatically from an accessibility service?将视图粘贴到前台的应用程序顶部。这种方法的问题在于,如果用户按下BACKHOME,则将关闭该应用程序,但是以这种方式创建的视图即使在应用程序关闭后仍在屏幕上可见。该视图位于视图层次结构的TOP上,而不是其一部分。

我的要求是显示小视图inwith应用本身。它必须是应用程序视图树的一部分,以便它保持不变或随应用程序一起使用。为此,我需要modify应用程序的视图树,即从服务中检索的Get view of AccessibilityNodeInfo to create overlay对象。

我想要的类似于WindowManager,但是将AccessibilityNodeInfo添加到应用程序本身的视图层次结构中,而不是放在其顶部。

这可能吗?

android android-view android-windowmanager android-accessibility android-viewgroup
1个回答
0
投票

不,您不能修改另一个应用程序的视图层次结构,因为它存在于单独的进程中。

这类似于无法从可访问性服务中修改可访问性节点。

© www.soinside.com 2019 - 2024. All rights reserved.