Change system screen brightness, using android.provider.Settings.System.SCREEN_BRIGHTNESS
android-er.blogspot.com/2011/02/change-system-screen-brightness-using.html

Android 系统设置中显示设置之亮度调节篇 - 尹君子 - 博客园.htm
http://www.cnblogs.com/yinhaojun/p/3876132.html

Android中内容观察者的使用---- ContentObserver类详解 (转)
http://www.cnblogs.com/slider/archive/2012/02/14/2351702.html

【Android开发经验】与屏幕亮度调节相关的各种方法整理 - 赵凯强 - 博客频道 - CSDN.NET.htm
http://blog.csdn.net/zhaokaiqiang1992/article/details/35814785

怎么控制背光灯?

App:通过android.provide.Setting.System.putint()把亮度值写入数据库就可以了

肯定有App在监测数据库,这种机制称为”内容观察者”,代码里面叫ContentObserver

背光灯的控制服务代码在:DisplayPowerController.java中,背光是属于电源管理的一小部分

在DisplayPowerState.java中执行唤醒和休眠相关操作

PhotonicModulator.run()创建一个线程运行,其在没事时休眠mLock.wait(),被唤醒后调用setBrightness函数,其调用mBackLight.setBrightness(),就是调用JNI接口来设置

在ScreenState/ScreenBrightness/ColorFade三个函数中会调用scheduleScreenUpdate会发信息来执行run函数,mScreenUpdateRunnable.run()创建一个线程运行,其执行setState函数,在其中调用mlock.notifyAll来唤醒

过程分析:

SystemServer:

(1)注册lightsService

Setting -> Dispaly -> Brightness level : BrightnessDialog.java(系统只带设置背光的APP)

8.6 Android灯光系统_源码分析_背光灯的更多相关文章

  1. 8.4 Android灯光系统_源码分析_电池灯

    电池灯的Java代码在batteryservice.java中 电池的状态电量等信息由驱动获得,但驱动不会主动做这些事情,因此肯定有个App调用驱动程序读取电池信息,称这个App为A应用. 还有个Ap ...

  2. 8.5 Android灯光系统_源码分析_通知灯

    参考文章(应用程序举例)how to use the LED with Android phonehttp://androidblogger.blogspot.jp/2009/09/tutorial- ...

  3. Django_Restframwork_APIVIEW视图_源码分析

    Django _VIEW视图_源码分析

  4. Android网络框架源码分析一---Volley

    转载自 http://www.jianshu.com/p/9e17727f31a1?utm_campaign=maleskine&utm_content=note&utm_medium ...

  5. OpenGL—Android 开机动画源码分析一

    .1 Android开机动画实现方式目前实现Android开机动画的方式主要是逐帧动画和OpenGL动画. ?逐帧动画 逐帧动画是一种常见的动画形式(Frame By Frame),其原理是在“连续的 ...

  6. Android分包MultiDex源码分析

    转载请标明出处:http://blog.csdn.net/shensky711/article/details/52845661 本文出自: [HansChen的博客] 概述 Android开发者应该 ...

  7. bootstrap_栅格系统_响应式工具_源码分析

    -----------------------------------------------------------------------------margin 为负 ​使盒子重叠 ​等高 等高 ...

  8. java画图程序_图片用字母画出来_源码发布_版本二

    在上一个版本:java画图程序_图片用字母画出来_源码发布 基础上,增加了图片同比例缩放,使得大像素图片可以很好地显示画在Notepad++中. 项目结构: 运行效果1: 原图:http://imag ...

  9. Android消息机制源码分析

    本篇主要介绍Android中的消息机制,即Looper.Handler是如何协同工作的: Looper:主要用来管理当前线程的消息队列,每个线程只能有一个Looper Handler:用来将消息(Me ...

随机推荐

  1. 2.CURL命令

    转自:https://blog.csdn.net/ligang2585116/article/details/46548617 curl是一种命令行工具,作用是发出网络请求,然后得到和提取数据,显示在 ...

  2. 44.Node.js Express 框架--web框架

    转自:http://www.runoob.com/nodejs/nodejs-express-framework.html Express 简介 Express 是一个简洁而灵活的 node.js W ...

  3. 31.Intellij idea 的maven项目如何通过maven自动下载jar包

    转自:https://blog.csdn.net/u012851114/article/details/81872981 maven项目自动加载jar包 所需工具如下: Intellij IDEA 1 ...

  4. recyclerview23+出现多个item只显示第一个item的问题

    1.改成21+可以,如果不行,就使用第2或第3个解决方案 2.对每个item的inflate,传入两个参数,第二个参数设置为null,而不是使用3个参数(第二个parent,第三个false) 3.i ...

  5. ToString DateTime 操作

    来源:网络 字符型转换为字符串// C 货币 2.5.ToString("C"); // ¥2.50 // D 10进制数 25.ToString("D5"); ...

  6. 【技能】Ext.Viewport 实现左三右一排列方式。

    1.Extjs 布局非常是灵活.可是吐槽下CSS,太难重写,想自己重构一套都难哎... var viewport = new Ext.Viewport({ layout:'border', items ...

  7. 26.多线程join detach

    #include <iostream> #include <thread> #include <array> #include <Windows.h> ...

  8. Flume的Collector

    Collector的作用是将多个Agent的数据汇总后,加载到Storage中.它的source和sink与agent类似. 数据源(source),如: collectorSource[(port) ...

  9. Windows/Linux下磁盘使用的图形化工具简介

    Windows/Linux下磁盘使用的图形化工具简介   如何以图形界面查看磁盘及分区的大小及剩余容量呢?今天我为大家介绍两款Windows/Linux下磁盘使用的图形化工具分别是Spacesniff ...

  10. HDU3689 Infinite monkey theorem 无限猴子(字符串DP+KMP)

    题目描述: 大概的意思就是根据无限猴子定理,无限只猴子坐在打字机旁瞎敲,总有一个能敲出莎士比亚文集.现在给你一个打字机和一只猴子,打字机的每个按钮(共n个)上的字母及猴子按下这个按钮的概率已知,而且猴 ...