前言:本文主要讲解了battery中如何读取sys中的一些电池相关的数据,然后发送给上层的内容。也会对某些数据节点进行拓展讲解。
1. BatteryService.java(frameworks\base\services\java\com\android\server)
BatteryService是在系统启动的时候就跑起来的,(通过SystemServer.java可以看出)
电池的信息是实时的变化的,那如何能实时的更新电池的信息呢,
BatteryService会通过UEventObserver启动一个onEventThread
并会在构造函数中启动UEventObserver
mUEventObserver.startObserving("SUBSYSTEM=power_supply");
启动之后就不会停止,
然后会调用update()来更新电池的信息
Update()通过JNI来com_android_server_BatteryService.cpp(frameworks\base\services\jni) 读取数据,BatteryService通过J