文章目录
概要
电池健康 设置 循环节点 健康度 出厂日期和初次使用日期
客户需求,依照欧盟规定,安卓15需要增加一个电池健康菜单,用于显示电池最大容量,电池初次使用时间,电池出厂时间,电池循环次数等等。于是做了这个需求,先上一下效果吧。至于电池保护模式,在下一个文章博客里再记录吧
整体架构流程
循环充放电次数的统计原理: 在放电或者充电过程中(二选一,平台默认以充电过程设计的),
每充1%电就将记录累积充电增加0.01, 当累计到100时,为一次循环充放电上。
底层驱动:
charge_cycle只是记录充电充了多少次0.1%的电量,次数累积到1000(0.1%*1000=100%),视为一次充电循环。
上层获取charge_cycle后除以1000就是循环次数:
charge_cycle会通过healthd: battery l… cc=? …上报给上层;
frameworks/base/services/core/java/com/android/server/BatteryService.java
sendBatteryChangedIntentLocked()方法中:
intent.putExtra(BatteryManager.EXTRA_CYCLE_COUNT, mHealthInfo.battery