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以下未尝试过)。