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);
}
總結
以上是生活随笔為你收集整理的android 屏幕亮度广播,Android调节屏幕亮度实现代码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 测试方法的使用
- 下一篇: Matlab中exp函数的使用