亮度调节及自动亮度开关

来源:互联网 发布:java notify 编辑:程序博客网 时间:2024/04/30 12:43

一、亮度调节

废话不多说,直接上代码:

public static void setScreenBrightness(Activity activity, int value){Window window = activity.getWindow();WindowManager.LayoutParams wl = window.getAttributes();wl.screenBrightness = value;window.setAttributes(wl);}

二、屏幕常亮的请求与取消

1.请求屏幕常亮

public static void requireScreenOn(Activity activity){activity.getWindow().setFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON, WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);}

2.取消屏幕常亮

public static void releaseScreenOn(Activity activity){activity.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);}

三、亮度自动调节

1.判断亮度自动调节是否打开

在Android 2.X(忘了是2.2还是2.3了)之后,系统加入了亮度自动调节功能。在亮度自动调节打开的时候,在应用内的亮度调节方法有可能会失效。判断其是否打开的方法如下:

public static boolean isAutoBrightness(Activity activity){int autoBrightness = Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC;try {autoBrightness = Settings.System.getInt(activity.getContentResolver(), Settings.System.SCREEN_BRIGHTNESS_MODE);} catch (SettingNotFoundException e) {e.printStackTrace();}if (autoBrightness == Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC) {return true;} else {return false;}}

2.关闭亮度自动调节

public static void stopAutoBrightness(Activity activity){Settings.System.putInt(activity.getContentResolver(), Settings.System.SCREEN_BRIGHTNESS_MODE, Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL);}

3.打开亮度自动调节

public static void startAutoBrightness(Activity activity){Settings.System.putInt(activity.getContentResolver(), Settings.System.SCREEN_BRIGHTNESS_MODE, Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC);}


0 0
原创粉丝点击