16-Android屏幕亮度调节
public static boolean IsAutoBrightness(Activity context) {
boolean IsAutoBrightness = false;
try {
IsAutoBrightness =
(Settings.System.getInt(context.getContentResolver(), Settings.System.SCREEN_BRIGHTNESS_MODE) == Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC);
} catch (Settings.SettingNotFoundException e) {
e.printStackTrace();
}
return IsAutoBrightness;
}
public static int getCurrentScreenBrightness(Activity context) {
int nowBrightnessValue = 0;
ContentResolver resolver = context.getContentResolver();
try {
nowBrightnessValue = android.provider.Settings.System.getInt(
resolver, SCREEN_BRIGHTNESS);
} catch (Exception e) {
e.printStackTrace();
}
return nowBrightnessValue;
}
public static void setCurWindowBrightness(Activity context, int brightness) {
if (IsAutoBrightness(context)) {
stopAutoBrightness(context);
}
Activity 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(Activity 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);
}