欢迎来到代码驿站!

Android代码

当前位置:首页 > 移动开发 > Android代码

Android调节屏幕亮度实现代码

时间:2021-05-23 08:07:05|栏目:Android代码|点击:

调节屏幕亮度时,先设置当前activity亮度,再并保存为系统亮度即可。

1 onCreate()里检查系统亮度并设置seekBar:

     private void screenBrightness_check()
     {
          //先关闭系统的亮度自动调节
          try
          {
              if(android.provider.Settings.System.getInt(getContentResolver(),android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE) == android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC)
              {    
                   android.provider.Settings.System.putInt(getContentResolver(),
                        android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE,
                        android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL);
              }
          }
          catch (SettingNotFoundException e)
          {
              // TODO Auto-generated catch block
              e.printStackTrace();
          }
          //获取当前亮度,获取失败则返回255
          intScreenBrightness=(int)(android.provider.Settings.System.getInt(getContentResolver(),
                   android.provider.Settings.System.SCREEN_BRIGHTNESS,
                   255));
          //文本、进度条显示
          mSeekBar_light.setProgress(intScreenBrightness);
          mTextView_light.setText(""+intScreenBrightness*100/255);
         
     }


2 拖动seekBar时设置当前activity亮度,并保存为系统亮度:
        

//屏幕亮度
     private void setScreenBritness(int brightness)
     {
          //不让屏幕全暗
          if(brightness<=1)
          {
              brightness=1;
          }
          //设置当前activity的屏幕亮度
          WindowManager.LayoutParams lp = this.getWindow().getAttributes();
          //0到1,调整亮度暗到全亮
          lp.screenBrightness = Float.valueOf(brightness/255f); 
          this.getWindow().setAttributes(lp);
    
          //保存为系统亮度方法1
          android.provider.Settings.System.putInt(getContentResolver(),
                   android.provider.Settings.System.SCREEN_BRIGHTNESS,
                   brightness);
         
          //保存为系统亮度方法2
//        Uri uri = android.provider.Settings.System.getUriFor("screen_brightness"); 
//        android.provider.Settings.System.putInt(getContentResolver(), "screen_brightness", brightness);  
//        // resolver.registerContentObserver(uri, true, myContentObserver); 
//        getContentResolver().notifyChange(uri, null);
         
          //更改亮度文本显示
          mTextView_light.setText(""+brightness*100/255);
     }

上一篇:Android原生ViewPager控件实现卡片翻动效果

栏    目:Android代码

下一篇:九宫图比较常用的多控件布局(GridView)使用介绍

本文标题:Android调节屏幕亮度实现代码

本文地址:http://www.codeinn.net/misctech/127241.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有