京东阅读app一打开就亮度自动调节节亮度,如何手控亮度(ipad亮度调节之类的都试过,无用)

iPad air自动调节亮度 只是摆设??_ipad吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:443,154贴子:
iPad air自动调节亮度 只是摆设??收藏
一点反应都没有啊 你们的是吗
百联 百联商城,食品大狂欢,生鲜随心订,甄选进口商品,一键下单,优质商品到你家!百联,百联专业的综合网上购物商城,正品低价,品质保证!
为了避免你用手或套子遮住了感光元件引起误判,所以它已经判定环境光之后不会因为突然的变暗而改变亮度。想要重设暗光标准:1.先把自动调节关闭,然后关掉屏幕。2.用手(带个黑手套更好,或者干脆晚上找个无光源的小黑屋)遮住光感器位置,模拟一个黑暗下的效果。3.点亮屏幕,进入设置(注意此时遮住光感的手不能拿开)然后把亮度拉到最左边,再打开自动调节,再关屏幕。(此时已经校准)4.手拿开,再点亮屏幕,机器亮度就会自动调节了,大功告成。
在被窝里弄的 话说我的iPhone久不用这样操作呢
有用的,昨天莫名其妙发现屏幕被调到最亮了,果断关闭了
我就是来顶帖的
白天你会发现机器变热。奏效了
有反应,不过我关了,耗电————————————————伦家追求的可是标准的十五字造吗
我的也是只能亮 不能变暗
App-store 「上海」苹果维修服务中心,维修热线:400-065-8800.
怎么改壁纸啊
挖坟挖的真牛逼
没用,我的air2不行
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或电脑教程子分类最近在做一个App的设置项,亮度调节。真正做时,发现Android亮度调节比预想要复杂一些。其实目前网上已有不少这方面的资料,但有些博文具有一定误导性。在此将这块内容按照自己理解整理一下。
整体上看,Android亮度调节分为三个层次,分别是:Android系统亮度调节、Android App亮度调节和Android当前屏幕(Window)亮度调节。
1.Android系统亮度调节
Android系统亮度调节全局性最高,常见于系统设置中的亮度设置项。Android中提供了获取和设置系统亮度值(&手动模式下的亮度值&)的接口,具体如下:
1 // 获取系统亮度
2 Settings.System.getInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS);
1 // 设置系统亮度
2 Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS,systemBrightness);
其中,需要注意的是,返回的亮度值是处于0-255之间的整型数值。
Android 2.1以后的系统中,系统亮度调节中新增了&自动亮度&选项。&自动亮度&是依据外界光源来自动的改变系统亮度,目前大部分手机中对&自动亮度&还可以进行小幅度的调节其值。与自动亮度相对应的是&手动亮度&,当处于&手动亮度&下,设置拖动亮度进度条会大幅度的改变Android系统亮度。&手动亮度&和&自动亮度&分别称之为Android系统的&亮度模式&。
与之相对应的,Android系统中也提供了获取和设置&亮度模式&的接口。
1 // 获取系统亮度模式
2 Settings.System.getInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS_MODE);
1 // 设置系统亮度模式
2 Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS_MODE, systemMode);
可是遗憾的是,Android中并未提供处于&自动亮度&模式下的亮度值接口。上面所说的获取系统亮度值接口实际上都是指&手动亮度&模式下的亮度值。
一般而言,通过手动亮度值以及设置系统亮度模式接口,可以满足常规的大部分针对Android系统亮度设置编码需求,以完成系统亮度调节。
2.Android App亮度调节
与系统亮度不同的是,Android中并未直接提供针对于App层面的亮度调节方式。因此,对于需要进行App的亮度调节,可以通过系统亮度调节或当前屏幕的亮度调节方式间接来实现。
3.Android当前屏幕(Window)亮度调节
Android针对当前屏幕(Window)提供了设置亮度的接口,常见写法如下:
1 Window window = activity.getWindow();
2 WindowManager.LayoutParams lp = window.getAttributes();
3 lp.screenBrightness =
4 window.setAttributes(lp);
其中,需要注意的是此处的brightness是一个0.0-1.0之间的一个float类型数值。
默认情况下,当我们直接修改了系统亮度值后,当前Window中是可以即时反应出来亮度效果的,这是因为默认情况下,WindowManager.LayoutParams的screenBrightness的默认值为WindowManager.LayoutParams.BRIGHTNESS_OVERRIDE_NONE。
即表示Window没有自己的亮度参数,将依随系统亮度效果的变化而变化。这也就是我们最常见的:当调整系统亮度后,所有Window都即时反应出系统亮度设置效果。
当时,实际项目中我们还会遇到此类需求:系统设置亮度时只针对当前Window或App内生效,而不影响到系统本身的亮度设置。
假设当前Window内有一个SeekBar,UI与系统亮度调节UI基本类似,用户可以滑动此SeekBar,使得当前Window亮度即时发生变化,且不影响到系统亮度效果。如何实现呢?
此时我们需要启用WindowManager.LayoutParams的screenBrightness参数,使之具有自动的特定亮度值,设置此值后在当前Window范围内,其将覆盖掉系统亮度设置。
因此,有必要将用户选择的亮度值转换为相应的Window亮度值(为与系统亮度值相一致,假设SeekBar的最大值为255)。
1 // 根据亮度值修改当前window亮度
2 public void changeAppBrightness(Context context, int brightness) {
Window window = ((Activity) context).getWindow();
WindowManager.LayoutParams lp = window.getAttributes();
if (brightness == -1) {
lp.screenBrightness = WindowManager.LayoutParams.BRIGHTNESS_OVERRIDE_NONE;
lp.screenBrightness = (brightness &= 0 ? 1 : brightness) / 255f;
window.setAttributes(lp);
其中,brightness形参为用户选择的亮度值。
那么,上述代码中为什么有一个"brightness == -1"的判断呢?在此主要是考虑到App设置项中可能出现的&跟随系统亮度&或&恢复系统默认亮度&此类设置,当用户进行此类操作时,直接将screenBrightness参数还原成默认参数值即可。因为由前文描述&自动亮度&模式下系统亮度值是不能直接得到的,那么当系统处于&自动亮度&模式下,此时brightness参数值将无法准确确定,因此,将screenBrightness参数还原成默认参数值成为一个行之有效的方法。
4.Android App亮度调节可行方案分析
目前网上有不少博文中提到App亮度调节时,提出的方案是在App设置项中,首先记录下设置之前的系统亮度值和亮度模式,用户在App设置项进行亮度调节时,直接修改系统亮度值,当用户退出此App,或App至于后台(如按下Home按键等),再将系统亮度还原。初看起来貌似一个可行的方案。但是主要存在如下几个问题:
1.如何获取到设置之前的系统亮度值和亮度模式(因为之后在此App外部要恢复系统亮度值到此初始值)?当用户每次进入到设置页时获取?严格意义上来说,是没法准确记录的。因为Android的用户操作不可预知性,如进入到设置页,拖动SeekBar设置了一个亮度值,此时直接修改了系统的亮度值,如果此时用户在未将应用至于后台或未将应用退出的情况下直接在App外部修改了系统亮度设置,如小米中可以通过下拉标题栏,直接就可以设置系统亮度。因此,App亮度设置之前的系统亮度初始值获取存在困难。
2.如何判断用户来到了App外部?因为此时需要恢复系统亮度设置到初始系统亮度。如用户可以按下Home按键,长按Home按键直接切换App,直接Back按键等一步步退出此App,下拉标题栏直接点击其他App通知信息进入到其他App,手机自动锁屏后解锁时用户直接进入其他应用等等,此类操作场景也具有不可预知性,因此,判断用户来到了App外部以恢复系统亮度到初始值的时机上也存在一定困难。
由此,App亮度调节方案推荐通过设置当前屏幕(Window)方式进行。
大致思路如下:用户在设置项中进行亮度调节时,调用changeAppBrightness()方法,将改变当前屏幕(Window)的亮度,此时对系统亮度无任何影响,接下来存在的问题终于要就集中于当用户来到本App其他Activity中,如果使得刚刚设置的亮度值得以即时反应出来。
&当用户进行亮度调节后,将当前亮度设置值保存起来(如保存到SharedPreferences中),在基类Activity中的onResume方法中,可以取出SharedPreferences中的用户所设置的App亮度值,然后changeAppBrightness()方法以实现每个当前屏幕的亮度调节。
&总体说来,通过设置当前屏幕(Window)的方式来设置App亮度更加简单有效。
阅读(...) 评论()

我要回帖

更多关于 亮度调节软件 的文章

 

随机推荐