Android R framework修改低电量关机值为2%

问题背景

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

修改关键类

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

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

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

最近更新

  1. TCP协议是安全的吗?

    2024-04-22 23:58:01       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-22 23:58:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-22 23:58:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-22 23:58:01       18 阅读

热门阅读

  1. 信息物理系统技术概述_1.概念和实现

    2024-04-22 23:58:01       40 阅读
  2. MongoDB 与MySQL的区别?优势?

    2024-04-22 23:58:01       11 阅读
  3. Flume

    Flume

    2024-04-22 23:58:01      39 阅读
  4. HCIP-Datacom-ARST必选题库_36_加密算法【1道题】

    2024-04-22 23:58:01       16 阅读
  5. 【centso】sqlite3.7.17升级到更新的版本

    2024-04-22 23:58:01       22 阅读
  6. 隐私计算DataTrust:从产品需求到工程架构实践

    2024-04-22 23:58:01       13 阅读
  7. nodejs 编写脚手架

    2024-04-22 23:58:01       41 阅读
  8. 微信原生小程序封装用户登陆

    2024-04-22 23:58:01       47 阅读
  9. git之常见的license及其适用场景

    2024-04-22 23:58:01       37 阅读