Android Lights笔记

本文介绍了Android系统中灯光控制的原理及实现方法,包括不同类型的灯光及其硬件实现方式,并详细阐述了背光亮度调节的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Android Lights

 

1、lights类型

在Android中目前定义的lights有以下的几种。

 

 

 

2、lights应用

每一种逻辑的灯的类型都有多种的物理硬件类型,如下所示:

 

---------------------------------------------------------------------------------

|   Logical Light Type                    |              Physical HardWare       |

---------------------------------------------------------------------------------

|       Backlight                             |    Backlight LED, Trackball LED  |

---------------------------------------------------------------------------------

|       Keyboard                             |             Keyboard LED               |

---------------------------------------------------------------------------------

|       Buttons                               |                Button LED               |

---------------------------------------------------------------------------------

|         Battery                              |                 3-color LED              |

---------------------------------------------------------------------------------

|       Notifications                         |        3-color LED,Trackball LED  |

---------------------------------------------------------------------------------

|        Attention                            |            Trackball LED                |

---------------------------------------------------------------------------------


backlight支持256等级亮度,0为关闭,255为最亮。但是这个也要根据实际的物理硬件来做不同的判断。

Attention通常是未接电话,这里也就是我们手机上的未接电话的设置;

Notifications通常有些应用会使用,比如短信,twitter等;

Battery灯通常是指示电池状态,是否低电,是否满电等;

 

 

3、代码分布

适配层代码路径在

hardware/$(PROJECT)/liblights/lights.c

hardware/libhardware/include/hardware/lights.h

其中HAL层将所有的lights均作了处理。

 

 

4、硬件实现

lights在硬件上的实现方式有PMIC,PWM,GPIO,3-color led.

 

 

5、举例

拿背光调节做例子。

背光亮度的调节主要分为几块:

boot,kernel,Start Sys, Suspend

 

在boot中的作用主要是体现在这些方面:关机充电时刷充电图片,刷boot时的图片;

kernel:刷开机图片;

------ HAL ---------

start sys: 系统开机动画等等是在这里实现;

suspend:休眠关闭背光,唤醒则重置为设置的背光亮度,这里可以看看powermanager service;

所以我们从开机到系统休眠看到的背光亮度依次为boot_set--->kernel_set---->Sys_set---->backlight_off_by_powermanager_service

 

 

Have Fun!

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值