Advertisement

Android电池管理

阅读量:

在前文内容中,我们已涉及Android系统电池模块中的驱动层,该层级主要借助充电芯片驱动来获取电池电量以及电池状态等数据。当我们从驱动层获取到电池电量信息后,这一信息是如何逐步传递至Android上层的,这就需要引入health模块进行说明。health模块是自Android 4.4版本之后引入的,其主要功能是向下读取电池驱动中的电量数据,并将这些信息向上层Framework中的BatteryService进行传递。

本文将重点对Android的health模块进行深入分析(以下关键代码部分将附有注释):

health模块的相关代码位于/system/core/healthd/目录下,其程序入口点位于Healthd.cpp文件中的main函数中,

复制代码
 int main(int argc, char **argv) {

    
     int ch;
    
     int ret;
    
     klog_set_level(KLOG_LEVEL);
    
     healthd_mode_ops = &android_ops;  //开机充电时初始化结构体
    
     if (!strcmp(basename(argv[0]), "charger")) {
    
     healthd_mode_ops = &charger_ops

全部评论 (0)

还没有任何评论哟~