android 修改电量关机阈值

19年的需求了,今年又提出来要修改,特此记录下

原因

用户用设备用完不关机,导致电池长时间亏电,进入保护状态不能充电。频繁返厂,为解决问题修改设备android源码,调高阈值。25%黄电,15%红电,10%自动关机

修改方式

  1. 修改res文件

frameworks/base/core/res/res/values/config.xml 文件

1
2
3
4
<!--黄电-->
<integer name="config_criticalBatteryWarningLevel">25</integer>
<!--红电-->
<integer name="config_lowBatteryCloseWarningBump">15</integer>

因为android 电量关机是BatteryService控制的,通过发送Intent来通知。而内部变量是从res /values/config.xml中获取的,

  1. 修改代码

/frameworks/base/services/core/java/com/android/server/BatteryService.java 文件

1
2
shutdownIfNoPowerLocked 函数
if (mBatteryProps.batteryLevel == 10 && !isPoweredLocked(BatteryManager.BATTERY_PLUGGED_ANY)) {

当mBatteryProps.batteryLevel==10的时候,发送通知进行关机

Licensed under CC BY-NC-SA 4.0