本文转载自:http://blog.csdn.net/kris_fei/article/details/51789964

之前版本的电池电量低是通过发送 intent ACTION_BATTERY_LOW来实现的,而在android4.4
中,通过发送intent ACTION_BATTERY_CHANGED,也就是电池电量只要变化就检查是否需要
低电量告警,并且实现挪到了PowerUI中。

路径:

frameworks/base/packages/SystemUI/src/com/android/systemui/power/PowerUI.java

  1. public void start() {
  2. ......
  3. //注册intent, 主要关注的是ACTION_BATTERY_CHANGED消息。
  4. // Register for Intent broadcasts for...
  5. IntentFilter filter = new IntentFilter();
  6. filter.addAction(Intent.ACTION_BATTERY_CHANGED);
  7. filter.addAction(Intent.ACTION_SCREEN_OFF);
  8. filter.addAction(Intent.ACTION_SCREEN_ON);
  9. mContext.registerReceiver(mIntentReceiver, filter, null, mHandler);
  10. }

当电池电量发生变化的时候,BatteryService就会发送 ACTION_BATTERY_CHANGED的 intent.
接着如下函数就会被调用:

  1. private BroadcastReceiver mIntentReceiver = new BroadcastReceiver() {
  2. @Override
  3. public void onReceive(Context context, Intent intent) {
  4. String action = intent.getAction();
  5. if (action.equals(Intent.ACTION_BATTERY_CHANGED)) {
  6. ......
  7. mBatteryStatus = intent.getIntExtra(BatteryManager.EXTRA_STATUS,
  8. BatteryManager.BATTERY_STATUS_UNKNOWN);
  9. ......
  10. if (!plugged
  11. && (bucket < oldBucket || oldPlugged)
  12. && mBatteryStatus != BatteryManager.BATTERY_STATUS_UNKNOWN
  13. && bucket < 0) {
  14. showLowBatteryWarning();
  15. ......
  16. }
  17. }
  18. };

如果不想要显示低电量对话框, 只要不调用showLowBatteryWarning()即可。

我遇到的问题在于插上充电座之后开机仍然显示低电量告警,提示要插入充电器,出现这个问题的
原因在于: 电池是另外一块板子供的,所以没有插拔信息,并且battery status默认情况下也是
BATTERY_STATUS_UNKNOWN。

因此只要将status改成BATTERY_STATUS_CHARGING就能修复此问题了~

[IMX6DL][Android4.4] 电池低电量告警提示【转】的更多相关文章

  1. android6.0系统Healthd分析及低电量自动关机流程

    系统平台:android6.0概述Healthd是android4.4之后提出来的一种中介模型,该模型向下监听来自底层的电池事件,向上传递电池数据信息给Framework层的BatteryServic ...

  2. I.MX6 android 禁止低电量自动关机

    /************************************************************************ * I.MX6 android 禁止低电量自动关机 ...

  3. android adb:电池与电量

    手机每个硬件的耗电量是不一样的!比如屏幕就是耗电大户!其它一些元件则耗电量非常小! 使用android dumpsys工具可以获取电池以及电量消耗信息! dumpsys工具:battery.batte ...

  4. css实现简单的告警提示动画效果

    需求:css实现简单的告警提示动画效果,当接收到实时信息的时候,页面弹出告警信息的动画效果 <!DOCTYPE html> <html lang="en"> ...

  5. Execute to Parse %: 29.76,数据库硬解析过高,监控告警提示数据库硬解析比例过低

    客户反馈,Oracle重启库操作后,监控告警出现pin比例低于25% 根据Oracle体系结构的理解,重启库后,硬解析及buffer命中率肯定有一段时间低. 生成不同时段的AWR报告:不要生成rac ...

  6. Android4.4电池管理

    一.概述 Android4.4的电池管理功能用于管理电池的充.放电功能. 整个电池管理的部分包含Linux电池驱动.Android电池服务.电池属性和參数.电池曲线优化四个部分. Linux电池驱动用 ...

  7. 使用BroadcastReceiver实现系统对手机电量进行提示

    import android.content.BroadcastReceiver;import android.content.Context;import android.content.Inten ...

  8. Android取得电池的电量

    首先需要用到的是一个类继承BrocastReceiver 2 代码如下: public class Battery_Info extends BroadcastReceiver { @Override ...

  9. Swift - 告警提示框(UIAlertController)的用法

    自iOS8起,苹果就建议告警框使用UIAlertController来代替UIAlertView.下面总结了一些常见的用法: 1,简单的应用(同时按钮响应Handler使用闭包函数)    1 2 3 ...

随机推荐

  1. 使用JQuery.slideBox实现图片滚动效果

    1.下载JQuery.slideBox和jquery插件,并引用 <link href="css/jquery.slideBox.css" rel="stylesh ...

  2. 大数据学习——JAVA采集程序

    1 需求 从外部购买数据,数据提供方会实时将数据推送到6台FTP服务器上,我方部署6台接口采集机来对接采集数据,并上传到HDFS中 提供商在FTP上生成数据的规则是以小时为单位建立文件夹(2016-0 ...

  3. Android ShapeDrawable之OvalShape、RectShape、PaintDrawable、ArcShape

     Android ShapeDrawable之OvalShape.RectShape.PaintDrawable.ArcShape Android图形图像基础之OvalShape.RectShap ...

  4. [Vijos1512] SuperBrother打鼹鼠 (二维树状数组)

    传送门 直接搞就行. 注意下表re从零开始,而树状数组搞不了0,所以统一增加一个偏移量1. (话说数据随机是什么鬼?) # include <iostream> # include < ...

  5. Scrapy的log日志功能

    Logging Scrapy提供了log功能,可以通过 logging 模块使用 可以修改配置文件settings.py,任意位置添加下面两行 LOG_FILE = "mySpider.lo ...

  6. linux文件描述符fd(windows下的句柄)

    在Linux系统中一切皆可以看成是文件,文件又可分为:普通文件.目录文件.链接文件和设备文件 fd:file descriptor 文件描述符0,1,2分别给了标准输入.标准输出和错误输出. ls - ...

  7. grails的criteria和hql查询

    grails在查询方面也保留了hibernate的hql和criteria查询功能.hql自然不必多说基本不会有什么变化,grails的criteria查询在hibernate上面做了微调使用起来更加 ...

  8. redis connetced refused remote

    239down vote I've been stuck with the same issue, and the preceding answer did not help me (albeit w ...

  9. SQL FULL OUTER JOIN 关键字

    SQL FULL OUTER JOIN 关键字 SQL FULL OUTER JOIN 关键字 FULL OUTER JOIN 关键字只要左表(table1)和右表(table2)其中一个表中存在匹配 ...

  10. request.getAttribute()与request.setAttribute()

    request.getAttribute()与request.setAttribute() request.getAttribute("nameOfObj")可得到JSP页面一表单 ...