目前,我正在使用以下代码来获取当前屏幕亮度
...
// 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());
...
当我用来获得HTC设备(Nexus One,Desire)的亮度时,这没关系。但是当在三星Galaxy S上运行此代码时,此代码无效,因为“cmd”中的路径在此设备上是错误的。问题是我没有三星Galaxy S来找出正确的亮度路径。 那么请你告诉我三星Galaxy S设备的正确路径或其他方法来完成这项任务! 谢谢,
答案 0 :(得分:9)
我知道人们已经为您提供了更好的设备亮度方法。不要否认,但出于好奇,如果你想找到存储亮度的相关文件,这里就是:
/sys/devices/platform/s3cfb/spi_gpio.3/spi3.0/backlight/s5p_bl/brightness
/sys/devices/platform/aat1401-backlight.0/backlight/aat1401-backlight/brightness
/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
然后
grep -i bright files.txt
: - )
答案 1 :(得分:6)
我能找到的最简单的一个,用adb:
来获得屏幕亮度adb shell settings get system screen_brightness
答案 2 :(得分:4)