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. Atcoder ABC 070 B、C、D

    B - Two Switches Time limit : 2sec / Memory limit : 256MB Score : 200 points Problem Statement Alice ...

  2. 什么是事件委托?jquery和js怎么去实现?

    事件委托又叫事件代理,事件委托就是利用事件冒泡,只指定一个事件处理程序,就可以管理某一类型的所有事件. js: window.onload = function(){ var oul = docume ...

  3. lastlog---显示系统中所有用户最近一次登录信息。

    lastlog命令用于显示系统中所有用户最近一次登录信息. lastlog文件在每次有用户登录时被查询.可以使用lastlog命令检查某特定用户上次登录的时间,并格式化输出上次登录日志/var/log ...

  4. 【Pycharm】【HTML/jQuery】代码换行问题

    问题:从网上下载jQuery文件后发现代码太长,不利于阅读:Pycharm没有预先设置好js文件的自动换行设置 问题 解决办法 解决后

  5. Onsctl 配置ONS服务(10G)

    Onsctl Onsctl这个命令是用来管理ONS(Oracle Notification Service)是OracleClustser实现FAN Event Push模型的基础. 在RAC环境下. ...

  6. iPad之Linux平台实践

    updata.... 本文出自 "李晨光原创技术博客" 博客,谢绝转载!

  7. golang round

    func Round(f float64, n int) float64 {pow10_n := math.Pow10(n)return math.Trunc((f+0.5/pow10_n)*pow1 ...

  8. 福建省第八届 Triangles

    Problem Description This is a simple problem. Given two triangles A and B, you should determine they ...

  9. android-5.1编译配置(van)

    必备文件: archives1211.tgz ubuntu_install_1204.tgz 安装指引: ubuntu_install_1204/readme.txt 工作目录结构: git ├── ...

  10. golang 获取环境信息

    os.Environ() os.Getenv("TMP")