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

1.前言

在10.0的系统产品开发中,在系统关于低电量关机的值,每个平台都不同,根据实际开发底层硬件的要求看实际情况来调整这个值,
所以需要分析相关的电量变化执行的代码流程,来实现这个功能

2.系统framework修改低电量关机值为2%的核心类

frameworks\base\services\core\java\com\android\server\BatteryService.java

3.系统framework修改低电量关机值为2%的核心功能分析和实现

BatteryService 作为电池及充电相关的服务: 监听 Uevent、读取sysfs 里中的状态 、广播Intent.ACTION_BATTERY_CHANGED。
BatteryService实现了一个UevenObserver mUEventObserver。uevent是Linux 内核用来向用户空间主动上报事件的机制,
对于JAVA程序来说,只实现 UEventObserver的虚函数 onUEvent,然后注册即可。
BatteryService只关注 power_supply 的事件,主要是通过在驱动层上报的电池相关的信息处理,同时对于电量的变化,也同样
在BatteryService.java中处理,在电量过低 电池发烫等等事件处理
关于电池的信息,电压,温度,充电状态等等这些信息,都是由BatteryService来提供的。
BatteryService是跑在system_process当中,在系统初始化的时候启动
BatteryService通过JNI(com_android_server_BatteryService.cpp)读取相关的数据,然后做出相关处理
接下来分析下BatteryS

最近更新

  1. TCP协议是安全的吗?

    2023-12-14 20:52:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-14 20:52:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-14 20:52:03       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-14 20:52:03       20 阅读

热门阅读

  1. traj_dist笔记 setup.py

    2023-12-14 20:52:03       46 阅读
  2. 网络基础试题选择题——附答案

    2023-12-14 20:52:03       36 阅读
  3. 数据库常用锁

    2023-12-14 20:52:03       37 阅读
  4. Hugo安装

    2023-12-14 20:52:03       42 阅读
  5. 【tcmalloc】(二)整体设计和thread cache(申请)

    2023-12-14 20:52:03       42 阅读
  6. 文件版本的通讯录

    2023-12-14 20:52:03       36 阅读
  7. SQLAlchemy 第三篇

    2023-12-14 20:52:03       27 阅读
  8. 33.Spring有哪几种配置方式

    2023-12-14 20:52:03       39 阅读
  9. linux中的网络知识

    2023-12-14 20:52:03       36 阅读