android屏幕亮度控制
『壹』 安卓手機亮度60%
網上有很多大佬建議將亮度調節至30%~70%之間,雖然看似很有道理,但卻不敢苟同,手機屏幕的亮度是固定的,用戶設置多少就是多少,但同一參數的亮度只能適應單一環境,用戶必須要根據外界光線環境的變化來不斷調整和修改屏幕亮度,而最穩妥的辦法就是開啟「自適應」模式,而不是手動調整至特定的亮度。
手機屏幕亮度設置參數,與人眼感光強度、外界環境有關
不同人眼對光線的感知強度是不一樣的,可能用戶A將手機屏幕的亮度設置為30%就已經足夠使用,但如果由用戶B來使用這部手機,就會感覺到手機屏幕很暗,他就要將屏幕的亮度調整到50%以上才能夠習慣,而這就是感光強度的差異,如果單獨的給出設置區間,很容易誤導用戶,而且手機屏幕亮度的設置往往與外界光線的變化有關,比如在光線交叉、陰暗的房間內,需要降低手機屏幕的亮度,必要時甚至可以降低至10%,而在室外環境,尤其是陽光下,因為屏幕反光、光線會發生折射、反射、漫反射現象,導致用戶無法看清屏幕上的內容,此時就需要將手機屏幕的亮度上調至70%以上,必要的時候需要調整至100%。
手機「自適應亮度」的原理
早些年的老式手機亮度是固定的,後期推出的手機屏幕亮度雖然可以調整,但效果不明顯,直至智能手機出現,以及紅外技術的成熟,大多數智能手機才推出了「自適應」亮度功能,基於手機品牌、型號、參數的不同,該功能的叫法可能會存在差異,而它的原理也比較簡單, 一般會在手機上部的屏幕底部安裝一個紅外感應模塊(一個小孔),它會對手機所處環境進行監測,一旦發現光線發生較大的改變,就會給手機系統發出信號,手機系統會自動調節手機屏幕的亮度,而有些品牌的智能手機還會結合用戶的使用習慣、使用時間、作息時間更進一步規劃用戶手機屏幕的亮度,根本不需要用戶主動去調整。
手機屏幕亮度根本沒有「多少合適」這個概念,網路上所謂的設置參數不過是「盲人摸象」,用戶可根據自身眼睛的感光強度、使用環境進行自定義設置,眼睛感覺不刺眼、不費力、不勞累,那麼就是最佳配置,但這需要時間去驗證,最穩妥的辦法就是開啟「自適應」模式。
『貳』 android5.x怎麼修改屏幕亮度
首選,需要反編譯framework-res.apk,位於/system/framework/目錄下。需要改動的位置為:integers.xml此文件位於:\res\values 目錄下。
有幾個值可以自定義
1,屏幕亮度設置的最小值:
查找詞條:
config_
設置中可以調的最小亮度值。將其值修改為比5大的值。修改的過低可能點不亮屏幕。。自己斟酌。
2,屏幕亮度設置的最大值:
查找詞條:
config_
一般為255最大。不需要改。
3,屏幕亮度設置的默認值:
查找詞條:
config_
一般為102。不需要改。
4,屏幕變暗時的值:
查找詞條:
config_screenBrightnessDim
當屏幕即將關閉時的值。推薦將其值修改為比5大的值。修改的過低可能點不亮屏幕。。自己斟酌。
5,屏幕完全黑暗時的值:
查找詞條:
config_screenBrightnessDark
推薦將其修改為比5大的值。修改的過低可能點不亮屏幕。自己斟酌。
『叄』 安卓手機屏幕太亮,有沒有調節亮度的軟體
安卓手機屏幕調節亮度的軟體:AdjBrightness。
AdjBrightness是一款用來調節屏幕亮度的Android軟體,調整的范圍從2~255 ,並有六項預定義快速滿足日常工作和學習,不必擔心手機屏幕的亮度又刺眼又耗電!需要root許可權。
設置方法:
打開軟體;輸入數字。
『肆』 android 怎麼設置屏幕亮度
/**
* 獲得當前屏幕亮度的模式
* 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);
}
『伍』 Android中如何控制調節屏幕亮度
/*** 判斷是否開啟了自動亮度調節*/public static boolean isAutoBrightness(ContentResolver aContentResolver) { boolean automicBrightness = false;try {automicBrightness = Settings.System.getInt(aContentResolver,Settings.System.SCREEN_BRIGHTNESS_MODE) == Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC; } catch (SettingNotFoundException e) { e.printStackTrace();}return automicBrightness;} 然後就是要覺得當前的亮度了,這個就比較糾結了:/*** 獲取屏幕的亮度*/public static int getScreenBrightness(Activity activity) { int nowBrightnessValue = 0; ContentResolver resolver = activity.getContentResolver();try {nowBrightnessValue = android.provider.Settings.System.getInt( resolver, Settings.System.SCREEN_BRIGHTNESS); } catch (Exception e) { e.printStackTrace();}return nowBrightnessValue;} // Settings.System.putInt(activity.getContentResolver(), // Settings.System.SCREEN_BRIGHTNESS_MODE, // Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL); WindowManager.LayoutParams lp = activity.getWindow().getAttributes(); lp.screenBrightness = Float.valueOf(brightness) * (1f / 255f); activity.getWindow().setAttributes(lp);} Settings.System.putInt(activity.getContentResolver(), Settings.System.SCREEN_BRIGHTNESS_MODE, Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL);} Settings.System.putInt(activity.getContentResolver(), Settings.System.SCREEN_BRIGHTNESS_MODE, Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC);} 至此,應該說操作亮度的差不多都有了,結束! 哎,本來認為是應該結束了,但是悲劇得是,既然像剛才那樣設置的話,只能在當前的activity中有作用,一段退出的時候,會發現毫無作用,悲劇,原來是忘記了保存了。汗!
『陸』 Android亮度調節的幾種實現方法
Android亮度調節分為三個層次,分別是:Android系統亮度調節、Android App亮度調節和Android當前屏幕(Window)亮度調節。
1.Android系統亮度調節
Android系統亮度調節全局性最高,常見於系統設置中的亮度設置項。Android中提供了獲取和設置系統亮度值(「手動模式下的亮度值」)的介面,具體如下:
// 獲取系統亮度
Settings.System.getInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS);
// 設置系統亮度
Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS,systemBrightness);
2.Android App亮度調節
與系統亮度不同的是,Android中並未直接提供針對於App層面的亮度調節方式。因此,對於需要進行App的亮度調節,可以通過系統亮度調節或當前屏幕的亮度調節方式間接來實現。
3.Android當前屏幕(Window)亮度調節
Android針對當前屏幕(Window)提供了設置亮度的介面,常見寫法如下:Window window = activity.getWindow();WindowManager.LayoutParams lp = window.getAttributes();lp.screenBrightness = brightness;window.setAttributes(lp);
『柒』 安卓怎麼通過修改系統文件,使屏幕亮度值的最低亮度更低
一、所需工具
1、APKTOOLS反編譯工具;
2、配置JAVA環境;
3、Notepad++;
4、提取系統framework-res.apk文件;
二、具體操作
1、因為framework-res.apk是系統文件,我們需要首先載入系統環境,將framework-res.apk放入APKTOOLS文件夾下進行載入。如圖:
5、我們修改好以後回編譯、簽名、替換即可。
拓展資料:
反編譯framework-res.apk
打開framework-res
esvaluesintegers.xml
然後找到
<integer name="config_">
10</integer> 最低亮度
<integer name="config_">
255</integer> 最高亮度
<integer name="config_">
102</integer> 開機默認亮度
<integer name="config_screenBrightnessDim"> 10</integer> 變暗值
手動修改最低亮度值即可,一般改為1。(0以下未嘗試過)。