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


运行效果图

Android调节屏幕亮度工具类BrightnessUtils_第1张图片

工程下载地址:

http://download.csdn.net/detail/itas109/8706979

如需转载请标明出处:http://blog.csdn.net/itas109

QQ技术交流群:129518033

更多相关文章

  1. android屏幕单位
  2. Android Widget 小工具(两) 使用configure
  3. Android中获取当前屏幕的尺寸大小
  4. Android多屏幕适配
  5. android 屏幕
  6. 对android 项目工程 sdk编译版本、build工具版本等一系列版本统
  7. Android aapt 资源打包工具

随机推荐

  1. android使用透明色
  2. Android(安卓)Context 上下文 你必须知道
  3. Android(安卓)RxJava实际应用教学:你该什
  4. Android四大组件:Service史上最全面解析
  5. Android实践之Drawable的使用
  6. Android学习感悟之消息机制
  7. android 通过Application类 共享全局数据
  8. Android(安卓)9.0 (P)
  9. 信息提醒之Notification,兼容全部SDK-更新
  10. android studio将多个module统一放在一个