[RK3288][Android6.0] 电池信息守护进程 --- healthd

本文详细介绍了在ROCKCHIP平台上的Android 6.0系统中,电池信息守护进程healthd的工作原理。healthd作为kernel与上层service之间的桥梁,通过初始化、注册事件回调以及设置定时器来获取并更新电池状态,与Battery Service进行通信,确保系统能及时获取准确的电池信息。
摘要由CSDN通过智能技术生成
Platform: ROCKCHIP
OS: Android 6.0
Kernel: 3.10.92

Android4.4 -> Android6.0 有点细微变化, 但是整体框架不变, 使用守护进程的方式和kernel通信,
拿到信息后再和上层service交互, 属于沟通的桥梁.

main -> system/core/healthd/healthd.cpp
    healthd_init ->
        healthd_mode_ops->init ->
            healthd_mode_android_init ->
                healthd_register_event    //callback为binder_event()
                new BatteryPropertiesRegistrar     -> BatteryPropertiesRegistrar.cpp //用于和Battery Service通信。
                gBatteryPropertiesRegistrar->publish ->
                    BatteryPropertiesRegistrar::publish ->
                        defaultServiceManager()->addService  //注册成为一个service,这样Battery Service就可以获取了。
        wakealarm_init ->    //注册一个alarm,然后定期唤醒系统更新电池状态.
            healthd_register_event    //callback为wakealarm_event()
            wakealarm_set_int
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值