[IMX6DL][Android4.4] 电池低电量告警提示【转】
2024-09-30 08:21:12
本文转载自: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
- public void start() {
- ......
- //注册intent, 主要关注的是ACTION_BATTERY_CHANGED消息。
- // Register for Intent broadcasts for...
- IntentFilter filter = new IntentFilter();
- filter.addAction(Intent.ACTION_BATTERY_CHANGED);
- filter.addAction(Intent.ACTION_SCREEN_OFF);
- filter.addAction(Intent.ACTION_SCREEN_ON);
- mContext.registerReceiver(mIntentReceiver, filter, null, mHandler);
- }
当电池电量发生变化的时候,BatteryService就会发送 ACTION_BATTERY_CHANGED的 intent.
接着如下函数就会被调用:
- private BroadcastReceiver mIntentReceiver = new BroadcastReceiver() {
- @Override
- public void onReceive(Context context, Intent intent) {
- String action = intent.getAction();
- if (action.equals(Intent.ACTION_BATTERY_CHANGED)) {
- ......
- mBatteryStatus = intent.getIntExtra(BatteryManager.EXTRA_STATUS,
- BatteryManager.BATTERY_STATUS_UNKNOWN);
- ......
- if (!plugged
- && (bucket < oldBucket || oldPlugged)
- && mBatteryStatus != BatteryManager.BATTERY_STATUS_UNKNOWN
- && bucket < 0) {
- showLowBatteryWarning();
- ......
- }
- }
- };
如果不想要显示低电量对话框, 只要不调用showLowBatteryWarning()即可。
我遇到的问题在于插上充电座之后开机仍然显示低电量告警,提示要插入充电器,出现这个问题的
原因在于: 电池是另外一块板子供的,所以没有插拔信息,并且battery status默认情况下也是
BATTERY_STATUS_UNKNOWN。
因此只要将status改成BATTERY_STATUS_CHARGING就能修复此问题了~
最新文章
- 《像计算机科学家一样思考Java》—— 读后总结
- 删除多个Safari书签
- opencv3.1 + opencv_contrib编译记事(win7下)
- IBInspectable / IBDesignable
- ASP.NET浏览器定义文件及IE兼容模式
- Retrofit – Java(Android) 的REST 接口封装类库
- json xmpp
- UI基本之UITextField相关方法属性
- GrideView合并列合并序号,隐藏某列按钮
- 如何使用银联卡充值美元到BTC-E以及比特币搬砖教程
- Jersey框架二:Jersey对JSON的支持
- 乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)
- 02-2--数据库MySQL:DDL(Data Definition Language:数据库定义语言)操作数据库中的表(二)
- DataTable的Merge\COPY\AcceptChange使用说明
- C#设计模式之十七中介者模式(Mediator Pattern)【行为型】
- Git学习笔记05-撤销修改
- JSP内置对象——pageContext对象和config对象
- 【RFT】【环境配置】Mac
- Lucky Conversion(找规律)
- H5新增API和操作DOM