1.前言
在12.0的系统rom产品定制化开发中,在系统关于低电量关机的值,每个平台都不同,根据实际开发底层硬件的要求看实际情况来调整这个值,
所以需要分析相关的电量变化执行的代码流程,来实现这个功能,接下来看具体怎么实现
2.系统framework修改低电量关机值为2%的核心类
frameworks\base\services\core\java\com\android\server\BatteryService.java
3.系统framework修改低电量关机值为2%的核心功能分析和实现
在系统的核心服务中,SystemServer在启动BatteryService时,一次会调用它的构造函数,onStart,onBootPhase方法,
BatteryService 作为电池及充电相关的服务: 监听 Uevent、读取sysfs 里中的状态 、广播Intent.ACTION_BATTERY_CHANGED。
BatteryService实现了一个UevenObserver mUEventObserver。uevent是Linux 内核用来向用户空间主动上报事件的机制,
对于JAVA程序来说,只实现 UEventObserver的虚函数 onUEvent,然后注册即可。
BatteryService只关注 power_supply 的事件,主要是通过在驱动层上报的电池相关的信息处理ÿ