有些时候,在显示屏熄灭的情况下需要点亮显示屏,而有时候需要熄灭显示屏。以下是android 5.1 的一种亮屏和灭屏的方法,直接往文件里面写入数据。
1,判断显示屏的状态(点亮/熄灭)
int screen_brightness =Settings.System.getInt(getContentResolver(), "is_led_backlight_on",10);
获取显示屏当前的亮度,如果该值为0就表明屏幕是熄灭的,否则是点亮的。
2,点亮显示屏
private void () { openL
int screen_brightness =
Settings.System.getInt(getContentResolver(),"screen_brightness", 255);
//注意,这是得到显示屏点亮时的亮度值,在0~255之间
String brightness_str = String.valueOf(screen_brightness); // 转化为字符串
byte[] ledOn = null;
try {
ledOn = brightness_str.getBytes("US-ASCII");// 将亮度值转化为ASCII码
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
String ledFilePath = "/sys/class/leds/lcd-backlight/brightness"; //文件路径
FileOutputStream ledFile;
try {
ledFile = new FileOutputStream(ledFilePath);
ledFile.write(ledOn);
ledFile.close();
} catch (Exception e) {
e.printStackTrace();
}
}
方法其实很简单,首先获取显示屏在点亮时的亮度值,然后将亮度值转换为ASCII码,最后直接写入对应的文件中就可以点亮屏幕了。
3,熄灭显示屏
private void closeL() {
String ledFilePath = "/sys/class/leds/lcd-backlight/brightness";
byte[] ledOn = {'0'}; // 0 对应的ASCII码值
try {
FileOutputStream ledFile = null;
ledFile = new FileOutputStream(ledFilePath);
ledFile.write(ledOn);
ledFile.close();
} catch (Exception e) {
}
和点亮屏幕原理一样,直接0的ASCII码值写入对应的文件中就可以熄灭屏幕了。
最后不要忘记了,因为是往文件中直接写入值,所以需要系统权限。