通过Settings.System.SCREEN_BRIGHTNESS返回的系统亮度在0-255之间,然而在米10手机中测试发现返回的是0FFFH,即0-4095之间。其他安卓手机是否有此变化还有待考证。
public class Brightness {
/*
* 获取系统亮度
* */
public static int getSystemBrightness(ContentResolver cr){
int systemBrightness=0;
try {
systemBrightness = Settings.System.getInt(cr,Settings.System.SCREEN_BRIGHTNESS);
} catch (Settings.SettingNotFoundException e) {
e.printStackTrace();
}
return systemBrightness;//0~4095
}
/*
* 更改当前界面亮度
* */
public static void changeAppBrightness(Activity activity,int brightness){
Window window = activity.getWindow();
WindowManager.LayoutParams layoutParams=window.getAttributes();
if (brightness==-1){
layoutParams.screenBrightness=WindowManager.LayoutParams.BRIGHTNESS_OVERRIDE_NONE;
}else {
layoutParams.screenBrightness=(brightness<=0 ? 1:brightness)/4095f;
}
window.setAttributes(layoutParams);
}
}
本文地址:https://blog.csdn.net/weixin_44370506/article/details/107152039
如对本文有疑问, 点击进行留言回复!!
荐 面试官:kafka日志段如何读写都不知道,好意思说精通Kafka吗?
荐 如何写出一份“有理有据使人信服”的Android项目设计文档
荐 灵魂一问,Android中有代替HashMap的方法吗?
intent.setFlag的参数 FLAG_ACTIVITY_CLEAR_TASK 说明
网友评论