如何以编程方式关闭三星设备上的电容式按钮灯?

How to turn off the capacitive buttons light on Samsung devices programmatically?

我需要关闭应用程序中的电容式按钮灯。

我找到了这个流行的实现

Settings.System.putInt(getContentResolver(), "button_key_light", 0);

遗憾的是,我在更新的三星设备上遇到了这个异常

 java.lang.IllegalArgumentException: You cannot keep your settings in the secure settings.

有没有已知的方法来实现这样的东西?

我发现 this app 它似乎在最新的设备上也能正常工作,所以我试图反编译它,但只能找到我上面提到的同一行代码,我真的不知道不明白。也许反编译过程将系统中保存的一个String更改为"button_key_light"?

可能是因为更新的构建工具?

所以有没有人知道让它工作的方法? 或者至少解释为什么我当前的代码不起作用?

好的,我明白了。

似乎您必须针对 sdk 版本 22 或更低版本才能编写未预定义的系统设置。

所以为了运行

Settings.System.putInt(getContentResolver(), "button_key_light", 0);

您必须将此添加到您的应用中 build.gradle

defaultConfig {
    ...    
    targetSdkVersion 22
    ...
}