Android - 关闭硬件钥匙灯

时间:2010-11-11 06:58:30

标签: android hardware light

在我的应用程序中,我需要一种方法来关闭标准Android手机按键(主页,菜单,后退和搜索)上的指示灯 - 如何以编程方式执行此操作?

2 个答案:

答案 0 :(得分:2)

根据this page,硬件密钥背光可以通过写入具有超级用户权限的文件系统中的特定文件来控制(即电话必须“扎根”):

  

问:如何控制键盘?   背光?

     答:键盘背光可以   控制通过   / SYS /类/发光二极管/键盘背光/亮度。   它似乎是一个简单的开关   控制(回显'0'将其关闭,   回显'1'或更高,将其打开)。   出于某种原因,默认系统   背光控制的东西似乎设置   这到“83”,但我不知道为什么。一世   似乎看不出任何区别   在83和任何其他数字之间。该   文件是任何人都可读的,但仅限   root可写,所以你需要root   访问手机来操纵它   这样。

因此,要以编程方式关闭背光,您可以在运行时调用exec(),如下所示:

Runtime r = Runtime.getRuntime();
r.exec("echo 0 > /system/class/leds/keyboard-backlight/brightness");

取决于你在做什么,但之后检查exec()的结果可能是明智的,看看是否发生了写错误。

注意:我在自己的手机上对此进行了测试,但似乎无法以root身份运行。但是,每部手机都可能不是这种情况,因此您可能会有不同的结果。

答案 1 :(得分:1)

This is applicable only for the device samsung devices:

To get the BackLight sate:
int backLight = Settings.System.getInt(getContentResolver(), "button_key_light");
// if it return -1 it means that light is on
// if it return 0 the light is off
// some time it will return values like 600(1.5 sec)
if you want to put the backLight as off u can do like this

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