Android init进程中鲜为人知的charger mode 模式

假如基于Andriod系统平台的手机在没有硬件充电指示灯的情况下,你如何知道电池是否在充电呢,进入andriod系统才能进行充电指示,而我们有时候仅仅需要充电而不需要进入系统,一般的情况是,当你关机的时候,插上充电器,屏幕会出现充电的图标。这是如何做到的呢?

Android 为我们提供了一个c程序,在system/core/charger/目录下。

首先说明一下charger目录下的东西,一个charger.c 判断电池的电量,以及显示充电图标的功能。 iamges存放了图标,还有一个Android.mk

init进程是如何去判断charger mode的呢?

他是从cmdline上获取的。查看的话路径在/proc/cmdl。

那如何让android的init进程进入这种模式呢,当然需要你在bootloader或者在uboot里,让androidboot.mode=charger。

init.rc中还需要进行配置,

添加

system batteryserver  /charger

oneshot


on charger

class_start charger

在device目录下device.mk中的PRODUCT_PACKAGES :=

添加charger  还有charger_res_images  两项。

编译一下,make bootiamge之后,烧机。

开机之后你就会看到一个电池的图标在不断的充电。。

如有问题,请即使留言。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wywxpj.html