搜索
开发文档
应用开发
快应用开发
小游戏开发
开发文档/应用开发/系统适配/系统设置/亮度适配说明
亮度适配说明更新时间: 2024-09-23 15:46:00

一、前言

为了使亮度调节更加细腻, MIUI在安卓P-安卓S版本对原生亮度级别进行了扩展,由原有的255级调整根据不同屏幕分别支持1023/2047/4095/8192级,在安卓T及之后版本为了符合谷歌原生api要求,将各机型等级恢复为255。开发者在进行亮度调整时需要先去确认机型亮度的最大值和最小值,然后进行比例调整。

二、机型最大和最小亮度确认方式

1、最大亮度获取方式

为了考虑兼容问题,我们建议使用PowerManager.BRIGHTNESS_ON作为SCREEN_BRIGHTNESS最大值,具体可参考如下写法:

try {
int maxBrightness =
(int) PowerManager.class.getDeclaredField("BRIGHTNESS_ON").get(null);
} catch (IllegalAccessException | NoSuchFieldException e) {
e.printStackTrace();
}

PowerManager.BRIGHTNESS_ON在各个版本中均表示SCREEN_BRIGHTNESS最大值,可解决各个版本及各个厂商机型之前兼容问题。

2、最小亮度获取方式

可通过最大值的范围来获取最小值。当最大值大于255时,即证明当前机型使用了MIUI多级调光策略,最小值为config_screenBrightnessSettingMinimum配置值,否则该机型未使用MIUI多级调光策略,最小值统一为1。

public int getMinimumScreenBrightnessSetting() {
if (maxBrightness > 255) {
return mContext.getResources().getInteger(mContext.getResources()
.getIdentifier("config_screenBrightnessSettingMinimum", "integer", "android"));
}
return 1;
}
上一篇:
下一篇: