Android获取并设置Activity的亮度
16lz
2021-01-24
此API只适合2.1以上版本:
/** * 判断是否开启了自动亮度调节 * * @param aContext * @return */public static boolean isAutoBrightness(ContentResolver aContentResolver) {boolean automicBrightness = false;try {automicBrightness = Settings.System.getInt(aContentResolver,Settings.System.SCREEN_BRIGHTNESS_MODE) == Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC;} catch (SettingNotFoundException e) {e.printStackTrace();}return automicBrightness;}/** * 获取屏幕的亮度 * * @param activity * @return */public static int getScreenBrightness(Activity activity) {int nowBrightnessValue = 0;ContentResolver resolver = activity.getContentResolver();try {nowBrightnessValue = android.provider.Settings.System.getInt(resolver, Settings.System.SCREEN_BRIGHTNESS);} catch (Exception e) {e.printStackTrace();}return nowBrightnessValue;}/** * 设置亮度 * * @param activity * @param brightness */public static void setBrightness(Activity activity, int brightness) {// Settings.System.putInt(activity.getContentResolver(),// Settings.System.SCREEN_BRIGHTNESS_MODE,// Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL);WindowManager.LayoutParams lp = activity.getWindow().getAttributes();lp.screenBrightness = Float.valueOf(brightness) * (1f / 255f);activity.getWindow().setAttributes(lp);}/** * 停止自动亮度调节 * * @param activity */public static void stopAutoBrightness(Activity activity) {Settings.System.putInt(activity.getContentResolver(),Settings.System.SCREEN_BRIGHTNESS,Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL);}/** * 开启亮度自动调节 * * @param activity */public static void startAutoBrightness(Activity activity) {Settings.System.putInt(activity.getContentResolver(),Settings.System.SCREEN_BRIGHTNESS_MODE,Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC);}/** * 保存亮度设置状态 * * @param resolver * @param brightness */public static void saveBrightness(ContentResolver resolver, int brightness) {Uri uri = android.provider.Settings.System.getUriFor("screen_brightness");android.provider.Settings.System.putInt(resolver, "screen_brightness",brightness);resolver.notifyChange(uri, null);}
使用SeekBar进行亮度控制:
sSeekBar = (SeekBar) findViewById(R.id.seek_bar);sSeekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {@Overridepublic void onStopTrackingTouch(SeekBar seekBar) {// TODO Auto-generated method stub}@Overridepublic void onStartTrackingTouch(SeekBar seekBar) {}@Overridepublic void onProgressChanged(SeekBar seekBar, int progress,boolean fromUser) {if (progress < 10) {} else {setBrightness(Test2Activity.this, progress);}}});//获取当前亮度的位置int a =getScreenBrightness(this);sSeekBar.setProgress(a);
<SeekBar android:id="@+id/seek_bar" android:layout_width="200dp" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:max="255" android:maxHeight="8dp" android:minHeight="8dp" android:paddingBottom="5dp" android:paddingLeft="13dp" android:paddingRight="13dp" android:progress="0" />
您想快速达成您的目标和实现梦想吗?请加QQ:673220883每天为您提供了大量励志,视频,销售,管理等-经典文章,免费学习。此QQ空间已改变了千万人的命运。陈安之和您一起开始您的梦想之旅!
精彩分享:如果你现在没有目标,对未来很迷茫、来看下
精彩分享:俞洪敏:一辈子只做一件事 不要想太多
精彩分享:男人的这一百个秘密,我不说你一辈子也不可能知道!
精彩分享:人临终前最遗憾的25件事,别让这些遗憾 变成你的遗憾
更多相关文章
- Android图像处理(一)色调、饱和度、亮度
- Android 实现调整屏幕亮度,以及自动适应
- android button light 流程分析(二) — HAL & JNI
- 控件:拖动条 --- SeekBar(改变屏幕亮度)
- Android 使用颜色矩阵改变图片颜色,透明度,亮度
- Android基于Socket无线遥控(1)--Socket基本模型搭建
- Android护眼模式、屏幕亮度调节功能开发【基于Android8.0】
- Android 屏幕亮度调节(2.0以后出现亮度自动调节)如何开启、关闭亮