1.概述

android自带lights模块,通常用于Android设备的相关灯的控制。
Android系统之中,一共定义了8个逻辑灯,包含:背光,键盘灯,按键灯,充电指示灯,通知提示等。

enum {LIGHT_INDEX_BACKLIGHT = 0,LIGHT_INDEX_KEYBOARD = 1,LIGHT_INDEX_BUTTONS = 2,LIGHT_INDEX_BATTERY = 3,LIGHT_INDEX_NOTIFICATIONS = 4,LIGHT_INDEX_ATTENTION = 5,LIGHT_INDEX_BLUETOOTH = 6,LIGHT_INDEX_WIFI = 7,LIGHT_COUNT
};

这里列举下本文设计到的目录结构。
frameworks/base/services/core/java/com/android/server/lights/*
frameworks/base/services/core/jni/com_android_server_lights_LightsService.cpp
hardware/libhardware/include/hardware/lights.h
hardware/qcom/display/liblight/*

2.分析

这里的分析只针对lights模块的实现,并不包含Android内部jni如何注册,服务如何加载等相关内容。
Android源码lights模块的实现应该相对比较简单容易理解的,根据上面提供的相关文件,这里做下简要的分析,要知道事情的来龙去脉,那就从事情的源头说

msm8953 Android7.1.2 lights模块分析相关推荐

  1. <2021SC@SDUSC>【Overload游戏引擎】OvCore源码模块分析(六)——SceneSystem

    <2021SC@SDUSC>[Overload游戏引擎]OvCore源码模块分析(六)--SceneSystem 前言 SceneSystem Scene SceneManager 总结 ...

  2. 觉SLAM的主要功能模块分析

    视觉SLAM的主要功能模块分析 一.基本概念 SLAM (simultaneous localization and mapping),也称为CML (Concurrent Mapping and L ...

  3. Asterisk cli模块分析

    最近写一些工具库,需要远程命令行调试(cli)功能,原有的一个cli模块是将接收处理的命令具体实现在cli模块中,其他模块需要修改添加自己的cli命令都需要去修改cli模块代码,觉得模块间耦合度太高, ...

  4. 2016年大数据Spark“蘑菇云”行动代码学习之AdClickedStreamingStats模块分析

    2016年大数据Spark"蘑菇云"行动代码学习之AdClickedStreamingStats模块分析     系统背景:用户使用终端设备(IPAD.手机.浏览器)等登录系统,系 ...

  5. 来自damon的zencart二次开发教程-2.2登录模块分析

    我们在制作zencart的模板时,经常会遇到需要将zencart的登陆页面与注册账户页面分离的情况(在 默认情况下,点击"Login"按钮会进入登陆页面与注册账号页面,登录zenc ...

  6. Mybatis源码日志模块分析

    看源码需要先下载源码,可以去Mybatis的github上的仓库进行下载,Mybatis 这次就先整理一下日志这一块的源码分析,这块相对来说比较简单而且这个模块是Mybatis的基础模块. 之前的文章 ...

  7. 【转】python模块分析之collections(六)

    [转]python模块分析之collections(六) collections是Python内建的一个集合模块,提供了许多有用的集合类. 系列文章 python模块分析之random(一) pyth ...

  8. 旅游类APP-Android模块分析

    2.Android模块分析 2.1系统框架 2.2Android APP启动流程 AndroidManifest.xml 2.3网络交互 2.4开发中的知识点 1.启动时使用引导页使用渐变效果: pr ...

  9. 游戏模块分析总结(4)之系统篇

    游戏模块分析总结(4)之系统篇 发布者: wuye | 发布时间: 2014-12-19 12:10| 评论数: 1 1.系统结构 几乎所有游戏都遵循同一个原则,即:玩→获得产出→能力提升→继续玩.每 ...

最新文章

  1. 算法--------旋转数组
  2. lotus表单域怎么获取视图结果_翻译案例 | 商业推广类文章怎么翻?如何修改译文?...
  3. mysql将一个库中表的某几个字段插入到另一个库中的表
  4. 随机加密_随机艺术和加密圣诞树
  5. mybatis-plus主键配置、全局配置
  6. PHP 错误与异常 笔记与总结(12 )异常
  7. SAP License:关于MRP产生的采购申请检查、与采购部的衔接处理
  8. SpringBoot项目如何部署到独立的tomcat上
  9. 什么是 Linux 中的显示管理器?
  10. ffice 2016 文件运行excel的数据透视表中的数据切片器的时候自动关闭
  11. torch.sort()
  12. linux系统安装r语言环境,R语言Linux环境安装说明
  13. Linux C/C++ 服务器/后端开发/后台开发学习路线
  14. oracle-12514,ORA-12514的解决方法(多图)
  15. Android kotlin 系列讲解(基础篇) Any和Any?
  16. Matlab / ArcGIS 处理GPM全球月均降水数据
  17. irc 开源软件_前4个开源IRC客户端
  18. 求字符串中回文子串的个数(回文树详解)
  19. springboot 模块引用_Spring Boot(三):SpringBoot多模块(module)项目搭建
  20. opencv中mask参数

热门文章

  1. Linux下rpmbuild命令的使用
  2. ROS::ros机器人路径远离障碍物的方法
  3. 二维码在微信中无法保存的解决办法
  4. linux ibm 多路径,IBM V7000多路径解决
  5. 数据结构中堆、栈和队列的理解
  6. iphone4越狱后找不到可以安装的openssh
  7. layui引入layui的第三方插件(xm-select)
  8. 目前大数据分析领域,主要面临的四大瓶颈
  9. apache derby_使用Apache Derby进行数据库开发,第2部分
  10. 物理CPU数、CPU核心数、CPU线程数