歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

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之後,燒機。

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

如有問題,請即使留言。

Copyright © Linux教程網 All Rights Reserved