如需转载请标明出处: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

更多相关文章

  1. 安卓开发38:安卓的滚动条相关属性
  2. Android(安卓)SystemProperties 系统属性分析
  3. Android(安卓)layout xml总结
  4. android 设置横屏竖屏
  5. android菜鸟学习笔记12----Android控件(一) 几个常用的简单控件
  6. Android(安卓)Gradle之productFlavors(定制产品)
  7. android permission 访问权限大全
  8. Android(安卓)系统状态栏一体化
  9. Android小设置19

随机推荐

  1. 跟自己的战斗
  2. 很多人已经学会了应对恐惧和焦虑的秘诀
  3. 快乐是一种自发的行动,跟别人无关
  4. 100分面试题,背过面试老师说好的我们再仔
  5. 从来不相信快速会成就一件事,我只相信笨功
  6. 自学第六十一天
  7. 大部分中产阶级都只是靠工资过中产,如何增
  8. 我就是要单打独斗
  9. 我们没有退路,只有不断向前
  10. 不断持续做,未来就已经到来