以编程方式更改模拟色彩空间和其他开发人员选项

Zin*_*tom 0 java android

我希望能够修改我的应用程序中的开发人员选项设置,我尝试在 中查找Settings.GlobalSettings.SystemSettings.Secure没有涵盖我所追求的特定切换,即“模拟色彩空间”。

有人能指出我尝试找到此设置提供商的正确方向吗?

Zin*_*tom 6

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

请注意,要成功修改安全设置,您必须授予您的应用程序权限,android.permission.WRITE_SECURE_SETTINGS否则它将崩溃;您可以通过两种方式执行此操作,从 ADB Shell:“ pm grant your.package.name android.permission.WRITE_SECURE_SETTINGS”或通过请求 root 权限并在您的应用程序中作为 SU 执行它。

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

Settings.Secure.putString(this.getContentResolver(), "accessibility_display_daltonizer_enabled", "1");
Settings.Secure.putString(this.getContentResolver(), "accessibility_display_daltonizer", "0");
Run Code Online (Sandbox Code Playgroud)

并禁用:

Settings.Secure.putString(this.getContentResolver(), "accessibility_display_daltonizer_enabled", "0");
Settings.Secure.putString(this.getContentResolver(), "accessibility_display_daltonizer", "-1");
Run Code Online (Sandbox Code Playgroud)

我将这些字符串常量放在 Settings.Secure 类中,您将能够找到其他开发人员设置并根据您的喜好修改它们。

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

DISABLED = -1
MONOCHROMACY = 0
PROTANOMALY = 11
CORRECT_DEUTERANOMALY = 12
TRITANOMALY= 13
Run Code Online (Sandbox Code Playgroud)

享受!