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调节屏幕亮度实现代码 的全部内容, 来源链接: utcz.com/z/346962.html