博客
关于我
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/

你可能感兴趣的文章
痞子衡嵌入式:分享一个i.MXRT系列配套DRAM压力测试上位机工具(i.MXRT DRAM Tester)...
查看>>
Mysql-缓存
查看>>
09-【继承、抽象类】
查看>>
Struts2-从值栈获取list集合数据(三种方式)
查看>>
LeetCode 两数之和
查看>>
98-对选择排序算法的实现和分析
查看>>
101-浅谈指针
查看>>
134-C++学习第八弹(重载)
查看>>
154-删除链表中重复元素(只保留出现一次的元素)
查看>>
254-Redis(关于hiredis)
查看>>
286-Go语言的操作符
查看>>
LeetCode刷题记录12——232. Implement Queue using Stacks(easy)
查看>>
nginx刷新出现nginx404
查看>>
vue-axios的总结及项目中的常见封装方法。
查看>>
单例模式的python实现
查看>>
【docker】开启remote api访问,并使用TLS加密
查看>>
MySQL 一些小知识
查看>>
JUC并发学习笔记
查看>>
第一章 FreeBSD之系统安装
查看>>
Linux之磁盘管理
查看>>