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); | ||
|  |     } | ||
|  | } |