android 屏幕亮度广播,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);

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值