现在的位置: 首页 > 综合 > 正文

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

2017年12月24日 ⁄ 综合 ⁄ 共 594字 ⁄ 字号 评论关闭

假如基于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之后,烧机。

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

抱歉!评论已关闭.