Android 12.0 系统framework修改低电量关机值为2%

本文介绍了在Android 12.0系统中,如何修改framework以实现低电量2%自动关机。通过分析BatteryService的源码,包括UEventObserver的监听、HealthHal回调以及电量变化处理,详细阐述了如何在shouldShutdownLocked()方法中添加判断,确保电量低于2%时执行关机操作。
摘要由CSDN通过智能技术生成

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 的事件,主要是通过在驱动层上报的电池相关的信息处理ÿ

  • 16
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 16
    评论
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

安卓兼职framework应用工程师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值