博客
关于我
16-Android屏幕亮度调节
阅读量:532 次
发布时间:2019-03-09

本文共 2229 字,大约阅读时间需要 7 分钟。

Android屏幕亮度调节方法说明

Android系统提供了多种方式来调节屏幕亮度,本文将详细介绍几个常用的实现方法。

一、检查自动亮度调节状态通过调用系统API,我们可以判断当前是否启用了自动亮度调节功能。以下是一个实现示例:

public static boolean IsAutoBrightness(Activity context) {boolean IsAutoBrightness = false;try {IsAutoBrightness = (Settings.System.getInt(context.getContentResolver(), Settings.System.SCREEN_BRIGHTNESS_MODE) ==Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC);} catch (Settings.SettingNotFoundException e) {e.printStackTrace();}return IsAutoBrightness;}

二、获取当前屏幕亮度值要获取当前屏幕亮度值,可以使用以下方法:

public static int getCurrentScreenBrightness(Activity context) {int nowBrightnessValue = 0;ContentResolver resolver = context.getContentResolver();try {nowBrightnessValue = android.provider.Settings.System.getInt(resolver, SCREEN_BRIGHTNESS);} catch (Exception e) {e.printStackTrace();}return nowBrightnessValue;}

三、设置当前界面亮度若需设置当前活动界面的亮度,可以参考以下代码:

public static void setCurWindowBrightness(Activity context, int brightness) {if (IsAutoBrightness(context)) {stopAutoBrightness(context);}if (brightness < 1) {brightness = 1;}if (brightness > 255) {brightness = 255;}WindowManager.LayoutParams lp = context.getWindow().getAttributes();lp.screenBrightness = Float.valueOf(brightness) * (1f / 255f);context.getWindow().setAttributes(lp);}

四、设置系统屏幕亮度如果希望设置系统整体亮度,可以采用下面的方法:

public static void setSystemBrightness(Activity context, int brightness) {if (brightness < 1) {brightness = 1;}if (brightness > 255) {brightness = 255;}saveBrightness(context, brightness);}

五、手动停止亮度自动调节若需要手动关闭亮度自动调节,可以执行下列操作:

public static void stopAutoBrightness(Context context) {Settings.System.putInt(context.getContentResolver(), {Settings.System.SCREEN_BRIGHTNESS_MODE =Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL;});}

六、开启亮度自动调节手动启用亮度自动调节的实现如下:

public static void startAutoBrightness(Context context) {Settings.System.putInt(context.getContentResolver(),Settings.System.SCREEN_BRIGHTNESS_MODE,Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC);}

七、保存亮度设置要确保设置持久有效,请参考以下方法:

public static void saveBrightness(Context context, int brightness) {Uri uri = android.provider.Settings.System.getUriFor(SCREEN_BRIGHTNESS);Settings.System.putInt(context.getContentResolver(), SCREEN_BRIGHTNESS, brightness);context.getContentResolver().notifyChange(uri, null);}

转载地址:http://eeriz.baihongyu.com/

你可能感兴趣的文章
Linux系统版本控制历史
查看>>
HTML、CSS、JS文件加载顺序及执行情况
查看>>
MySQL
查看>>
mysql语句优化利器soar(一)安装
查看>>
The wxWindows Library Licence (WXwindows)
查看>>
linux centos7 gcc4.85 升级到gcc7.4.0
查看>>
十一届省赛总结
查看>>
leetcode——第203题——虚拟头结点
查看>>
leetcode——第1047题——删除字符串中的相邻重复子串
查看>>
leetcode——第429题——N叉树的层序遍历
查看>>
leetcode——第101题——对称二叉树
查看>>
leetcode——第108题——将有序数组转换为二叉搜索树
查看>>
王者荣耀英雄简介-2
查看>>
数据结构题目--括号是否匹配
查看>>
计算机主机网关的作用是什么?
查看>>
高等数学第七版 上册 第一章 函数与极限1
查看>>