唔,明天要去网易笔试Android实习生,于是翻出以前写的Android代码,温习一下,想象一下,当然,这必然不会导致太多的本质改变,不过总得试试,就这样, 上代码。

 1 package android.lekko.tools;
 2
 3 import android.app.Activity;
 4 import android.content.ContentResolver;
 5 import android.provider.Settings;
 6 import android.provider.Settings.System;
 7 import android.view.WindowManager;
 8 import android.widget.Toast;
 9
10 public class LightnessControl {
11     // 判断是否开启了自动亮度调节
12     public static boolean isAutoBrightness(Activity act) {
13         boolean automicBrightness = false;
14         ContentResolver aContentResolver = act.getContentResolver();
15         try {
16             automicBrightness = Settings.System.getInt(aContentResolver,
17                    Settings.System.SCREEN_BRIGHTNESS_MODE) == Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC;
18         } catch (Exception e) {
19             Toast.makeText(act,"无法获取亮度",Toast.LENGTH_SHORT).show();
20         }
21         return automicBrightness;
22     }
23     // 改变亮度
24     public static void SetLightness(Activity act,int value)
25     {
26         try {
27             System.putInt(act.getContentResolver(),System.SCREEN_BRIGHTNESS,value);
28             WindowManager.LayoutParams lp = act.getWindow().getAttributes();
29             lp.screenBrightness = (value<=0?1:value) / 255f;
30             act.getWindow().setAttributes(lp);
31         } catch (Exception e) {
32             Toast.makeText(act,"无法改变亮度",Toast.LENGTH_SHORT).show();
33         }
34     }
35     // 获取亮度
36     public static int GetLightness(Activity act)
37     {
38         return System.getInt(act.getContentResolver(),System.SCREEN_BRIGHTNESS,-1);
39     }
40     // 停止自动亮度调节
41     public static void stopAutoBrightness(Activity activity) {
42         Settings.System.putInt(activity.getContentResolver(),
43                 Settings.System.SCREEN_BRIGHTNESS_MODE,
44                 Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL);
45     }
46     // 开启亮度自动调节
47     public static void startAutoBrightness(Activity activity) {
48         Settings.System.putInt(activity.getContentResolver(),
49                 Settings.System.SCREEN_BRIGHTNESS_MODE,
50                 Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC);
51     }
52 }

  这是一个单独可工作的类,主要用于调节屏幕亮度,有部分注释了,解释几个概念,不标准,供参考:

  ContentResolver类,为访问其它应用程序的对外共享数据提供方法,如上面获取、设置亮度时使用的System.getInt(),System.setInt()。

  Activity类,android程序的主要类,一个界面必有此类提供后台支持,需要继承此类。

  Settings类,android程序系统相关的设置类,各种设置都可在此找。

  LayoutParams类,android界面相关的参数,如高度、宽度、亮度等。

  Toast类,一个可自动消失的提示框,轻型控件。

  转载请注明原址:http://www.cnblogs.com/lekko/archive/2013/03/20/2971825.html

转载于:https://www.cnblogs.com/lekko/archive/2013/03/20/2971825.html

重温Android——调节屏幕亮度相关推荐

  1. android 屏幕亮度广播,Android调节屏幕亮度实现代码

    调节屏幕亮度时,先设置当前activity亮度,再并保存为系统亮度即可. 1 onCreate()里检查系统亮度并设置seekBar: private void screenBrightness_ch ...

  2. Android 调节屏幕亮度(当前应用和系统亮度)

    1.只改变当前程序屏幕亮度 当前屏幕亮度的取值范围:attrs.screenBrightness  0.0(暗)-1.0(亮) 需要屏幕恢复到系统亮度,可将 attrs.screenBrightnes ...

  3. Android开发之调节屏幕亮度

    在很多app中进入二维码显示界面时会自动调整屏幕亮度,那么如何实现调节app的屏幕亮度呢?下面我来为大家介绍: 注:调节屏幕亮度的核心思想就是对安卓系统提供的ContentProvider进行操作 1 ...

  4. android系统屏幕亮度调节

    在$SDK/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java中修改,PhoneWi ...

  5. android+系统屏幕亮度,android 设置系统屏幕亮度

    android 设置系统屏幕亮度 权限 /** * 获得当前屏幕亮度的模式 * SCREEN_BRIGHTNESS_MODE_AUTOMATIC=1 为自动调节屏幕亮度 * SCREEN_BRIGHT ...

  6. Android设置屏幕亮度

    目录 目录 使用场景 屏幕亮度调节模式 获取屏幕亮度值 设置系统屏幕亮度值 设置当前窗口亮度 使用场景 最近在研究AndroidL Settings的代码,写了一个简单的控件来操控屏幕亮度. 其实,调 ...

  7. Android 修改屏幕亮度方案

    本篇文章主要介绍 Android 开发中的部分知识点,通过阅读本篇文章,您将收获以下内容: 一.获取系统Settings 中的亮度 二.修改APP界面屏幕亮度,不会影响其他APP 三.修改系统Sett ...

  8. Android调整屏幕亮度和改变屏幕亮度调整模式的代码

    最近有一个调整屏幕亮度的需求,在网上找了各种代码,心乱如麻.不是长篇大论说源码的,就是只言片语就上代码的,关键是代码还不能直接用. 这里面确实是有一些坑,在这里我会把可以用的代码写出来,并且告诉大家坑 ...

  9. win10调节屏幕亮度_自动调节电脑屏幕亮度软件,保护你的眼睛

    本文共514个字,预计用时2分钟 小伙伴们,今天给大家分享一个小软件,名字叫做 EyeCareApp,中文名:护眼软件 EyeCareApp是一款能够调节屏幕亮度的软件,它可以调整屏幕亮度,滤除蓝光, ...

最新文章

  1. Blender 3D插图插画设计视频教程 Fantastic 3D illustration with Blender
  2. 三十一、MySQL 及 SQL 注入
  3. 怎样做反向域名解析?
  4. eq linux_linux之shell编程(二)
  5. 页面加载图片前用空态图代替真正图片
  6. TPL Dataflow组件应对高并发,低延迟要求
  7. linux下boost库链接动态库失败
  8. 关联性挖掘--Apriori算法详解
  9. mysql密码正确却提示错误,不使用密码反而能登录
  10. 每日算法系列【LeetCode 881】救生艇
  11. 软件工程项目经理必备能力
  12. Pr:音频和视频的同步
  13. dmz和端口映射_无线路由大讲堂:端口映射触发与DMZ主机
  14. 使用Java化简逻辑表达式
  15. 【学术论文】查找论文、查找并理解配套代码(持续更新~)
  16. Logging initialized using configuration in jar:file:/home/lan/software/hive/lib/hive-common-1.2.1.ja
  17. AppInventor之数据库、MQTT及导出Excel表格
  18. MySQL 8.0 OCP (1Z0-908)有中文考试了
  19. Android开发 亲测可用--多种方式获取手机短信验证码自动填入
  20. 基于VB.NET的NX UG软件二次开发基础

热门文章

  1. 2018年13个AI趋势 | CB Insights报告
  2. 升级http到https
  3. python xlwt操作excel
  4. 创意对抗网络(CANs)你知多少?
  5. redis数据导入导出
  6. hdu 5596 GTW likes gt
  7. Swoole(PHP高级Web开发框架)
  8. SQL CE与SQL Server数据交换
  9. VMWare tools的安装过程及文件共享设置
  10. asp.net调用ajax实例