111 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			111 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| package com.novelbook.android.utils;
 | |
| 
 | |
| import android.app.Activity;
 | |
| import android.content.ContentResolver;
 | |
| import android.net.Uri;
 | |
| import android.provider.Settings;
 | |
| import android.view.WindowManager;
 | |
| 
 | |
| 
 | |
| public class BrightnessUtil {
 | |
|     /**
 | |
|      * 判断是否开启了自动亮度调节
 | |
|      *
 | |
|      * @return
 | |
|      */
 | |
|     public static boolean isAutoBrightness(ContentResolver aContentResolver) {
 | |
|         boolean automicBrightness = false;
 | |
|         try {
 | |
|             automicBrightness = Settings.System.getInt(aContentResolver,
 | |
|                     Settings.System.SCREEN_BRIGHTNESS_MODE) == Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC;
 | |
|         } catch (Settings.SettingNotFoundException e) {
 | |
|             e.printStackTrace();
 | |
|         }
 | |
|         return automicBrightness;
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * 获取屏幕的亮度
 | |
|      *
 | |
|      * @param activity
 | |
|      * @return
 | |
|      */
 | |
|     public static int getScreenBrightness(Activity activity) {
 | |
|         int nowBrightnessValue = 0;
 | |
|         ContentResolver resolver = activity.getContentResolver();
 | |
|         try {
 | |
|             nowBrightnessValue = Settings.System.getInt(
 | |
|                     resolver, Settings.System.SCREEN_BRIGHTNESS);
 | |
|         } catch (Exception e) {
 | |
|             e.printStackTrace();
 | |
|         }
 | |
|         return nowBrightnessValue;
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * 设置亮度
 | |
|      *
 | |
|      * @param activity
 | |
|      * @param brightness
 | |
|      */
 | |
|     public static void setBrightness(Activity activity, int brightness) {
 | |
|         // Settings.System.putInt(activity.getContentResolver(),
 | |
|         // Settings.System.SCREEN_BRIGHTNESS_MODE,
 | |
|         // Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL);
 | |
|         WindowManager.LayoutParams lp = activity.getWindow().getAttributes();
 | |
|         lp.screenBrightness = Float.valueOf(brightness) * (1f / 255f);
 | |
|         activity.getWindow().setAttributes(lp);
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * 设置亮度
 | |
|      *
 | |
|      * @param activity
 | |
|      * @param brightness
 | |
|      */
 | |
|     public static void setBrightness(Activity activity, float brightness) {
 | |
|         // Settings.System.putInt(activity.getContentResolver(),
 | |
|         // Settings.System.SCREEN_BRIGHTNESS_MODE,
 | |
|         // Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL);
 | |
|         WindowManager.LayoutParams lp = activity.getWindow().getAttributes();
 | |
|         lp.screenBrightness = brightness;
 | |
|         activity.getWindow().setAttributes(lp);
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * 停止自动亮度调节
 | |
|      *
 | |
|      * @param activity
 | |
|      */
 | |
|     public static void stopAutoBrightness(Activity activity) {
 | |
|         Settings.System.putInt(activity.getContentResolver(),
 | |
|                 Settings.System.SCREEN_BRIGHTNESS,
 | |
|                 Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL);
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * 开启亮度自动调节
 | |
|      *
 | |
|      * @param activity
 | |
|      */
 | |
|     public static void startAutoBrightness(Activity activity) {
 | |
|         Settings.System.putInt(activity.getContentResolver(),
 | |
|                 Settings.System.SCREEN_BRIGHTNESS_MODE,
 | |
|                 Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC);
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * 保存亮度设置状态
 | |
|      *
 | |
|      * @param resolver
 | |
|      * @param brightness
 | |
|      */
 | |
|     public static void saveBrightness(ContentResolver resolver, int brightness) {
 | |
|         Uri uri = Settings.System
 | |
|                 .getUriFor("screen_brightness");
 | |
|         Settings.System.putInt(resolver, "screen_brightness",
 | |
|                 brightness);
 | |
|         resolver.notifyChange(uri, null);
 | |
|     }
 | |
| }
 |