Android init進程中鮮爲人知的charger mode 模式

轉自http://blog.csdn.net/k_linux_man/article/details/7292746

作者:K_Linux_Man

假如基於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之後,燒機。

開機之後你就會看到一個電池的圖標在不斷的充電。。


如有問題,請即使留言。

發佈了29 篇原創文章 · 獲贊 44 · 訪問量 18萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章