小追兵專欄
堅(jiān)果部分機(jī)型屏幕亮度調(diào)整問題
我們?cè)谠O(shè)置屏幕亮度的時(shí)候悬荣,會(huì)給設(shè)置0-255的亮度值菠秒,0為最暗,255為最亮氯迂。
一般這樣設(shè)置是沒有問題的践叠。可是堅(jiān)果的部分手機(jī)嚼蚀,在亮度低于21的時(shí)候禁灼,屏幕會(huì)全黑。
所以做如下處理轿曙,如果是堅(jiān)果手機(jī)
弄捕,當(dāng)亮度值小于23時(shí),全部顯示23的亮度导帝。
其他機(jī)型也為了防止發(fā)生類似問題守谓。當(dāng)亮度設(shè)置小于10,全部設(shè)置為10的亮度您单。
/**
* 保存當(dāng)前的屏幕亮度值分飞,并使之生效
*/
public static void setScreenBrightness(Activity activity, int paramInt) {
if ("YQ601".equals(PhoneUtils.getPhoneModel())) {//對(duì)錘子手機(jī)進(jìn)行單獨(dú)配置
if (paramInt < 23) {
paramInt = 23;//錐子手機(jī)設(shè)置亮度在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);
}
貼上獲取獲取手機(jī)型號(hào)的代碼:
/**
* 獲取手機(jī)型號(hào)
*
* @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;
}
為什么其他機(jī)型調(diào)0,沒有出現(xiàn)黑屏睹限,應(yīng)該是系統(tǒng)進(jìn)行了類似的設(shè)置譬猫,因?yàn)槲覀儗⒘炼仍O(shè)置0,然后在獲取亮度羡疗,這是會(huì)發(fā)現(xiàn)染服,獲取的亮度是大于0的。
最后:有需要Shadowsock翻墻賬號(hào)可以私聊叨恨。