Java 以编程方式更改Android中的“模拟颜色空间”和其他开发人员选项(已解决)

Java 以编程方式更改Android中的“模拟颜色空间”和其他开发人员选项(已解决),java,android,Java,Android,我希望能够在我的应用程序中修改开发人员选项设置,我已尝试查看设置。全局、设置。系统和设置。安全,但没有一个覆盖我所追求的特定切换,即模拟颜色空间 是否有人能为我指出正确的方向来查找此设置提供程序?好消息!,我现在已经解决了这个问题!需要ROOT或ADB 请注意,要成功修改安全设置,您必须将应用权限授予android.permission.WRITE_secure_settings,否则它将崩溃;您可以通过两种方式完成此操作,一种是从ADB外壳:pm授予您的.package.name androi

我希望能够在我的应用程序中修改开发人员选项设置,我已尝试查看设置。全局、设置。系统和设置。安全,但没有一个覆盖我所追求的特定切换,即模拟颜色空间


是否有人能为我指出正确的方向来查找此设置提供程序?

好消息!,我现在已经解决了这个问题!需要ROOT或ADB

请注意,要成功修改安全设置,您必须将应用权限授予android.permission.WRITE_secure_settings,否则它将崩溃;您可以通过两种方式完成此操作,一种是从ADB外壳:pm授予您的.package.name android.permission.WRITE_SECURE_设置,另一种是请求root权限并在应用程序中以SU身份执行

使用以下行启用单色设置:

Settings.Secure.putString(this.getContentResolver(), "accessibility_display_daltonizer_enabled", "1");
Settings.Secure.putString(this.getContentResolver(), "accessibility_display_daltonizer", "0");
以及禁用:

Settings.Secure.putString(this.getContentResolver(), "accessibility_display_daltonizer_enabled", "0");
Settings.Secure.putString(this.getContentResolver(), "accessibility_display_daltonizer", "-1");
我在Settings.Secure类中找到了这些字符串常量,您将能够找到其他开发人员设置并根据自己的喜好修改它们

以下是其他屏幕空间模式的值:

DISABLED = -1
MONOCHROMACY = 0
PROTANOMALY = 11
CORRECT_DEUTERANOMALY = 12
TRITANOMALY= 13
享受吧