获取屏幕的当前亮度

Pha*_*Sum 4 hardware android

目前,我正在使用下面的代码来获取当前的屏幕亮度

...
// for HTC Nexus One and HTC Desire
String cmd = "cat /sys/class/leds/lcd-backlight/brightness";
java.lang.Process p = Runtime.getRuntime().exec(cmd); 
BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream()),cmd.length());
...
Run Code Online (Sandbox Code Playgroud)

当我用来获得HTC设备(Nexus One,Desire)的亮度时,这没关系.但是当在三星Galaxy S上运行此代码时,此代码无效,因为"cmd"中的路径在此设备上是错误的.问题是我没有三星Galaxy S来找出正确的亮度路径.那么请你告诉我三星Galaxy S设备的正确路径或其他方法来完成这项任务!谢谢,

lay*_*man 9

我知道人们已经为您提供了更好的设备亮度方法.不要否认,但出于好奇,如果你想找到存储亮度的相关文件,这里它们是:

  • Nexus S: /sys/devices/platform/s3cfb/spi_gpio.3/spi3.0/backlight/s5p_bl/brightness
  • 银河Y: /sys/devices/platform/aat1401-backlight.0/backlight/aat1401-backlight/brightness
  • Galaxy S: /sys/devices/platform/omap2_mcspi.1/spi1.0/backlight/omap_bl/actual_brightness

在Galaxy S上,似乎还有一个名为的文件brightness,但actual_brightness似乎更准确.它捕获设备的屏幕在一定的空闲时间后变为半亮.

简而言之,三星设备上似乎没有标准的路径/文件.当然,这不是获得亮度的最佳方式,但如果你很好奇,以上是一些文件.

最好的方法是从桌面上运行

adb shell ls -R /sys/devices >files.txt
Run Code Online (Sandbox Code Playgroud)

然后

grep -i  bright files.txt
Run Code Online (Sandbox Code Playgroud)

:-)


小智 7

我能找到的最简单的一个,用adb获得屏幕亮度:

adb shell settings get system screen_brightness
Run Code Online (Sandbox Code Playgroud)