一、获取屏幕的亮度
我们提供的服务有:成都网站设计、成都网站制作、微信公众号开发、网站优化、网站认证、吕梁ssl等。为上1000+企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的吕梁网站制作公司
public static int getScreenBrightness(Activity activity) {
int value = 0;
ContentResolver cr = activity.getContentResolver();
try {
value = Settings.System.getInt(cr, Settings.System.SCREEN_BRIGHTNESS);
} catch (SettingNotFoundException e) {
}
return value;
}
二、设置屏幕亮度:
public static void setScreenBrightness(Activity activity, int value) {
WindowManager.LayoutParams params = activity.getWindow().getAttributes();
params.screenBrightness = value / 255f;
activity.getWindow().setAttributes(params);
}
首选,需要反编译framework-res.apk,位于/system/framework/目录下。需要改动的位置为:integers.xml此文件位于:\res\values 目录下。
有几个值可以自定义
1,屏幕亮度设置的最小值:
查找词条:
config_screenBrightnessSettingMinimum
设置中可以调的最小亮度值。将其值修改为比5大的值。修改的过低可能点不亮屏幕。。自己斟酌。
2,屏幕亮度设置的最大值:
查找词条:
config_screenBrightnessSettingMaximum
一般为255最大。不需要改。
3,屏幕亮度设置的默认值:
查找词条:
config_screenBrightnessSettingDefault
一般为102。不需要改。
4,屏幕变暗时的值:
查找词条:
config_screenBrightnessDim
当屏幕即将关闭时的值。推荐将其值修改为比5大的值。修改的过低可能点不亮屏幕。。自己斟酌。
5,屏幕完全黑暗时的值:
查找词条:
config_screenBrightnessDark
推荐将其修改为比5大的值。修改的过低可能点不亮屏幕。自己斟酌。
/**
* 获得当前屏幕亮度的模式
* SCREEN_BRIGHTNESS_MODE_AUTOMATIC=1 为自动调节屏幕亮度
* SCREEN_BRIGHTNESS_MODE_MANUAL=0 为手动调节屏幕亮度
*/
private int getScreenMode(){
int screenMode=0;
try{
screenMode = Settings.System.getInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS_MODE);
}
catch (Exception localException){
}
return screenMode;
}
/**
* 获得当前屏幕亮度值 0--255
*/
private int getScreenBrightness(){
int screenBrightness=255;
try{
screenBrightness = Settings.System.getInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS);
}
catch (Exception localException){
}
return screenBrightness;
}
/**
* 设置当前屏幕亮度的模式
* SCREEN_BRIGHTNESS_MODE_AUTOMATIC=1 为自动调节屏幕亮度
* SCREEN_BRIGHTNESS_MODE_MANUAL=0 为手动调节屏幕亮度
*/
private void setScreenMode(int paramInt){
try{
Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS_MODE, paramInt);
}catch (Exception localException){
localException.printStackTrace();
}
}
/**
* 设置当前屏幕亮度值 0--255
*/
private void saveScreenBrightness(int paramInt){
try{
Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS, paramInt);
}
catch (Exception localException){
localException.printStackTrace();
}
}
/**
* 保存当前的屏幕亮度值,并使之生效
*/
private void setScreenBrightness(int paramInt){
Window localWindow = getWindow();
WindowManager.LayoutParams localLayoutParams = localWindow.getAttributes();
float f = paramInt / 255.0F;
localLayoutParams.screenBrightness = f;
localWindow.setAttributes(localLayoutParams);
}