android 5.1 显示屏亮灭的控制

有些时候,在显示屏熄灭的情况下需要点亮显示屏,而有时候需要熄灭显示屏。以下是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码值写入对应的文件中就可以熄灭屏幕了。

 

 

最后不要忘记了,因为是往文件中直接写入值,所以需要系统权限。

 

 

你可能感兴趣的:(---【实践】)