Android调节屏幕亮度工具类BrightnessUtils
16lz
2022-03-08
如需转载请标明出处:http://blog.csdn.net/itas109
QQ技术交流群:129518033
项目需要做了一个调节屏幕的工具类
/* * Android调节屏幕亮度工具类 * by itas109 * http://blog.csdn.net/itas109 * * 注意:需要添加setting权限 * <uses-permission android:name="android.permission.WRITE_SETTINGS" /> */public class BrightnessUtils {// 判断是否开启了自动亮度调节public static boolean IsAutoBrightness(Context context) {boolean IsAutoBrightness = false;try {IsAutoBrightness = Settings.System.getInt(context.getContentResolver(),Settings.System.SCREEN_BRIGHTNESS_MODE) == Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC;}catch (SettingNotFoundException e){e.printStackTrace();}return IsAutoBrightness;}// 获取当前屏幕的亮度public static int getScreenBrightness(Context context) {int nowBrightnessValue = 0;ContentResolver resolver = context.getContentResolver();try {nowBrightnessValue = android.provider.Settings.System.getInt(resolver, Settings.System.SCREEN_BRIGHTNESS);}catch (Exception e) {e.printStackTrace();}return nowBrightnessValue;}// 设置亮度// 程序退出之后亮度失效public static void setCurWindowBrightness(Context context, int brightness) {// 如果开启自动亮度,则关闭。否则,设置了亮度值也是无效的if (IsAutoBrightness(context)) {stopAutoBrightness(context);}// context转换为ActivityActivity activity = (Activity) context;WindowManager.LayoutParams lp = activity.getWindow().getAttributes();// 异常处理if (brightness < 1) {brightness = 1;}// 异常处理if (brightness > 255) {brightness = 255;}lp.screenBrightness = Float.valueOf(brightness) * (1f / 255f);activity.getWindow().setAttributes(lp);}// 设置系统亮度// 程序退出之后亮度依旧有效public static void setSystemBrightness(Context context, int brightness) {// 异常处理if (brightness < 1) {brightness = 1;}// 异常处理if (brightness > 255) {brightness = 255;}saveBrightness(context, brightness);}// 停止自动亮度调节public static void stopAutoBrightness(Context context) {Settings.System.putInt(context.getContentResolver(),Settings.System.SCREEN_BRIGHTNESS_MODE,Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL);}// 开启亮度自动调节public static void startAutoBrightness(Context context) {Settings.System.putInt(context.getContentResolver(),Settings.System.SCREEN_BRIGHTNESS_MODE,Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC);}// 保存亮度设置状态public static void saveBrightness(Context context, int brightness) {Uri uri = android.provider.Settings.System.getUriFor("screen_brightness");android.provider.Settings.System.putInt(context.getContentResolver(),"screen_brightness", brightness);context.getContentResolver().notifyChange(uri, null);}}
运行效果图
工程下载地址:
http://download.csdn.net/detail/itas109/8706979
如需转载请标明出处:http://blog.csdn.net/itas109
QQ技术交流群:129518033
更多相关文章
- 安卓开发38:安卓的滚动条相关属性
- Android(安卓)SystemProperties 系统属性分析
- Android(安卓)layout xml总结
- android 设置横屏竖屏
- android菜鸟学习笔记12----Android控件(一) 几个常用的简单控件
- Android(安卓)Gradle之productFlavors(定制产品)
- android permission 访问权限大全
- Android(安卓)系统状态栏一体化
- Android小设置19