时间:2021-05-20
本文实例讲述了Android开发实现调节屏幕亮度功能。分享给大家供大家参考,具体如下:
在很多app中进入二维码显示界面时会自动调整屏幕亮度,那么如何实现调节app的屏幕亮度呢?下面我来为大家介绍:
注:调节屏幕亮度的核心思想就是对安卓系统提供的ContentProvider进行操作
1、声明权限
需要允许用户修改系统配置
<uses-permission android:name="android.permission.CHANGE_CONFIGURATION"/><uses-permission android:name="android.permission.WRITE_SETTINGS"/>2、具体操作
/*** 判断是否开启了自动亮度调节*/public static boolean isAutoBrightness(Context context) { ContentResolver resolver = context.getContentResolver(); boolean automicBrightness = false; try { automicBrightness = Settings.System.getInt(resolver, Settings.System.SCREEN_BRIGHTNESS_MODE) == Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC; } catch (Settings.SettingNotFoundException e) { e.printStackTrace(); } return automicBrightness;}/*** 获取屏幕的亮度*/public static int getScreenBrightness(Context context) { int nowBrightnessValue = 0; ContentResolver resolver = context.getContentResolver(); try { nowBrightnessValue = android.provider.Settings.System.getInt(resolver, Settings.System.SCREEN_BRIGHTNESS); } catch (Exception e) { e.printStackTrace(); } return nowBrightnessValue;}/*** 设置当前Activity显示时的亮度* 屏幕亮度最大数值一般为255,各款手机有所不同* screenBrightness 的取值范围在[0,1]之间*/public static void setBrightness(Activity activity, int brightness) { WindowManager.LayoutParams lp = activity.getWindow().getAttributes(); lp.screenBrightness = Float.valueOf(brightness) * (1f / 255f); activity.getWindow().setAttributes(lp);}/*** 开启关闭自动亮度调节*/public static boolean autoBrightness(Context activity, boolean flag) { int value = 0; if (flag) { value = Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC; //开启 } else { value = Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL;//关闭 } return Settings.System.putInt(activity.getContentResolver(), Settings.System.SCREEN_BRIGHTNESS_MODE, value);}/*** 保存亮度设置状态,退出app也能保持设置状态*/public static void saveBrightness(Context context, int brightness) { ContentResolver resolver = context.getContentResolver(); Uri uri = android.provider.Settings.System.getUriFor(Settings.System.SCREEN_BRIGHTNESS); android.provider.Settings.System.putInt(resolver, Settings.System.SCREEN_BRIGHTNESS, brightness); resolver.notifyChange(uri, null);}好了,亮度调节差不多就这样了。
另外,更多关于Android权限控制的说明可点击此处查看Android权限操作说明
更多关于Android相关内容感兴趣的读者可查看本站专题:《Android开发入门与进阶教程》、《Android视图View技巧总结》、《Android编程之activity操作技巧总结》、《Android文件操作技巧汇总》、《Android资源操作技巧汇总》及《Android控件用法总结》
希望本文所述对大家Android程序设计有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了Android编程调节屏幕亮度(背景灯)及保持背景灯常亮的方法。分享给大家供大家参考,具体如下:Android写的应用程序其实可以调节屏幕亮度的,
Mac具有根据周围环境的亮度自动调节屏幕亮度的功能,但是某些时候调节得不是很令人满意,在此教大家怎么设置或者取消自动调节屏幕亮度的功能。1、打开系统偏好设置。2
打开亮度自动调节之后,手机屏幕的亮度会根据周围环境的亮度自动调节,如果在比较亮的环境下,手机屏幕亮度会变大,这个时候就比较费电了。我们可以选择关闭亮度自动调节,
默认设置下,手机的亮度是会根据环境光线自动调节的,如果不喜欢自动调节的屏幕亮度,我们可以选择关闭oppor17手机的亮度自动调节功能,下面是具体的操作步骤。OP
打开亮度自动调节之后,手机屏幕的亮度会根据周围环境的亮度自动调节,如果在比较亮的环境下,手机屏幕亮度会变大,这个时候就比较费电了。我们可以选择关闭亮度自动调节,