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