小追兵专栏
坚果部分机型屏幕亮度调整问题
我们在设置屏幕亮度的时候,会给设置0-255的亮度值,0为最暗,255为最亮。
一般这样设置是没有问题的。可是坚果的部分手机,在亮度低于21的时候,屏幕会全黑。
所以做如下处理,如果是坚果手机
,当亮度值小于23时,全部显示23的亮度。
其他机型也为了防止发生类似问题。当亮度设置小于10,全部设置为10的亮度。
/**
* 保存当前的屏幕亮度值,并使之生效
*/
public static void setScreenBrightness(Activity activity, int paramInt) {
if ("YQ601".equals(PhoneUtils.getPhoneModel())) {//对锤子手机进行单独配置
if (paramInt < 23) {
paramInt = 23;//锥子手机设置亮度在23
}
} else {
if (paramInt < 10) {
paramInt = 10;
}
}
Window localWindow = activity.getWindow();
WindowManager.LayoutParams localLayoutParams = localWindow.getAttributes();
float f = paramInt / 255.0F;
localLayoutParams.screenBrightness = f;
localWindow.setAttributes(localLayoutParams);
}
贴上获取获取手机型号的代码:
/**
* 获取手机型号
*
* @return
*/
public static String getPhoneModel() {
try {
return URLEncoder.encode(android.os.Build.MODEL, "utf-8");
} catch (UnsupportedEncodingException e) {
LogUtils.error(e.getMessage(), e);
}
return null;
}
为什么其他机型调0,没有出现黑屏,应该是系统进行了类似的设置,因为我们将亮度设置0,然后在获取亮度,这是会发现,获取的亮度是大于0的。
最后:有需要Shadowsock翻墙账号可以私聊。