Java 是否可以覆盖系统生成的辅助功能屏幕设置,如反转颜色?

Java 是否可以覆盖系统生成的辅助功能屏幕设置,如反转颜色?,java,android,accessibilityservice,inversion,Java,Android,Accessibilityservice,Inversion,比方说,我希望在原生Android应用程序中,只有当屏幕颜色反转时,文本才可见。 为此: 将文本颜色设置为背景色,例如白色 收听正在启用的反转颜色 启用后,禁用该文本的颜色反转,但让背景反转 背景现在应该是黑色,但文本将保持白色 现在,我的问题是,是否可以覆盖特定视图的效果?根据您的要求,可以听到反转的颜色变化 然而,为了实现这一点,我需要禁用文本颜色的反转。我认为这是不可能的,但是,如果我能做到,我想: 用户可能需要根目录 这可能违反设备的任何条款 我想尝试通过覆盖服务来做到这一点,而

比方说,我希望在原生Android应用程序中,只有当屏幕颜色反转时,文本才可见。 为此:

  • 将文本颜色设置为背景色,例如白色
  • 收听正在启用的反转颜色
  • 启用后,禁用该文本的颜色反转,但让背景反转
  • 背景现在应该是黑色,但文本将保持白色
现在,我的问题是,是否可以覆盖特定视图的效果?根据您的要求,可以听到反转的颜色变化

然而,为了实现这一点,我需要禁用文本颜色的反转。我认为这是不可能的,但是,如果我能做到,我想:

  • 用户可能需要根目录
  • 这可能违反设备的任何条款

我想尝试通过覆盖服务来做到这一点,而不是在服务打开后改变文本颜色,只是为了好玩。

这在理论上是可能的,但是,你必须采取的方法是如此可怕的黑客行为,以至于不可能做到这一点。你看,你不能在可访问性服务中访问任何原始视图。只是一个文本表示。因此,实现这一点的唯一方法是在应用程序顶部的覆盖中重新渲染整个视图层次


不可能采用您概述的方法。甚至在根设备上。如果你真的决心坚持这样的想法,你就需要自己的操作系统发行版。

我不是安卓程序员,但有一个想法。。。难道你不能监听反转颜色更改事件,然后使用该事件手动更改字体,使其反转颜色为你想要的颜色吗?@yshavit D'oh…@yshavit要解决问题,我将尝试在不使用该事件的情况下查看是否可行,而是覆盖它。