电池的信息,电压,温度,充电状态等等,都是由BatteryService来提供的。电池的这些信息是BatteryService通过广播 主动把数据传送给所关心的应用程序。

应用如果想要接收到BatteryService发送出来的电池信息,则需要注册一个Intent为Intent.ACTION_BATTERY_CHANGED的BroadcastReceiver。

代码如下:

IntentFilter mIntentFilter = new IntentFilter();

mIntentFilter.addAction(Intent.ACTION_BATTERY_CHANGED);

registerReceiver(mIntentReceiver, mIntentFilter);

private BroadcastReceiver mIntentReceiver = new BroadcastReceiver() {

@Override

public void onReceive(Context context, Intent intent) {

// TODO Auto-generated method stub

String action = intent.getAction();

if (action.equals(Intent.ACTION_BATTERY_CHANGED)) {

// 电池状态,返回是一个数字

// BatteryManager.BATTERY_STATUS_CHARGING 表示是充电状态

// BatteryManager.BATTERY_STATUS_DISCHARGING 放电中

// BatteryManager.BATTERY_STATUS_NOT_CHARGING 未充电

// BatteryManager.BATTERY_STATUS_FULL 电池满

int status = intent.getIntExtra("status", 0); // 电池状态

// 电池健康情况,返回也是一个数字

// BatteryManager.BATTERY_HEALTH_GOOD 良好

// BatteryManager.BATTERY_HEALTH_OVERHEAT 过热

// BatteryManager.BATTERY_HEALTH_DEAD 没电

// BatteryManager.BATTERY_HEALTH_OVER_VOLTAGE 过电压

// BatteryManager.BATTERY_HEALTH_UNSPECIFIED_FAILURE 未知错误

int health = intent.getIntExtra("health", 0); //电池健康情况

int scale = intent.getIntExtra("scale", 0); // 电池最大容量

int nVoltage = intent.getIntExtra("voltage", 0); // 电池的电压

int level = intent.getIntExtra("level", 0); // 电池的电量,数字

int temperature = intent.getIntExtra("temperature", 0); // 电池的温度

if (nVoltage != 0) {

tv_status.setText("电池电量:" + level + "%");

Log.i(TAG, "voltage = " + nVoltage + " level = " + level

+ " temperature = " + temperature + "...success");

} else {

Log.i(TAG, "voltage = " + nVoltage + "...failed");

}

}

}

};

小结一下

android 检测电量变化,Android电池电量检测相关推荐

  1. android 电量管理机制,电池电量分析---android篇

    原标题:电池电量分析---android篇 本文将从底层到上层介绍Android系统中电量显示这一块,电池检测采用的是ADC采样,不是使用市场上封装好的电量计芯片: 1.驱动层 Linux内核中提供p ...

  2. 修改电量android,安卓手机端修改电池电量图标的教程

    安卓手机端是可以给电池电量图标进行修改的,恐怕大家都不知道吧,不同的系统基本都有比一样的电量图标,这就导致了不是每一个人都喜欢同一个图标,现在我就来为大家讲解如何在手机端修改电量图标的教程. 第一步: ...

  3. 【LM】电池电量水平低 保留电池电量 关键级别电池电量水平

    win7电池设置里如下三个选项的含义 1.电池电量水平低 第1次提醒: a.系统会有个1次提示声音 b.电池图标会有个黄色感叹号 能做的设置: a.不采取任何操作 b.关机.睡眠.休眠 2. 保留电池 ...

  4. MTK Android O 充电状态下电池电量100%时不显示闪电图标

    需求: android 8.1.1版本google原生充电的时候都会显示一个闪电的形状,客户要求在百分之百电量的时候不显示闪电 修改: frameworks\base\packages\Setting ...

  5. android p什么变化,Android P预览版,这些调整和变化最值得关注

    上星期,谷歌刚刚公布了今年IO大会将于5月份举办,这次大会的主角显然还是最新的Android系统.随着这一日期逐渐临近,他们很快就公布了Android 9.0也就是我们俗称的Android P预览版. ...

  6. android id 会变化,android – 每次应用程序启动时资源ID都会更改

    一种方法是将stringsable中的drawable存储为字符串数组,如下所示: @drawable/ic_image_name @drawable/ic_image_name @drawable/ ...

  7. Qt自定义控件的实践——电池电量控件

    一.介绍 上一篇我们绘制了一个自定义的slider控件,现在我们再绘制一个电池控件,它可调节电池电量. 二.步骤 新建Battery类 battery.h #ifndef BATTERY_H #def ...

  8. Win7电池电量设置

    保留电池电量,达到保留电池电量时,系统会跳出一个警告框,提示尽快插入电源,否则要休眠之类的,电池变红色,左下角有个红叉叉,除了这个没有其他操作 关键电池电量水平 这个跟 关键级别电池操作相关,其实关键 ...

  9. ATtiny13与Proteus仿真-电池电量指示仿真

    电池电量指示仿真 本文将介绍如何实现一个简单的电池电量指示器.电池电量指示器指示三档电量:(0%-60%),(60%-80%)(80%-100%).不同档次的电量分别通过绿色LED.黄色LED和红色L ...

最新文章

  1. 电力电子应用技术_RFID技术应用在电力行业工具管控
  2. mysql的概念和入门语句
  3. STL-容器库101--array【C11】
  4. 我从#100DaysOfCode中学到的东西
  5. Storing and Retrieving Images from SQL Server using Microsoft .NET
  6. java博弈,人机博弈小游戏(Java)
  7. 生成chm文档工具- Sandcastle -摘自网络
  8. 华为澳大利亚大动作,终止4.9亿投资;iPhone 12 或10月13日发布;Swift正式登陆Win 10 | 极客头条...
  9. Kubernetes中的nodePort,targetPort,port的区别和意义(转)
  10. Notepad2-mod,轻量级文本编辑器、代替记事本的最佳选择
  11. 熵权法用matlab怎么,熵权法求权重原理详细步骤附matlab代码
  12. inno setup 打包工具介绍
  13. 软件测试考证:ISTQB、软件评测师
  14. 值得收藏的资源网站大全
  15. 论文中的三线表及表格规范
  16. ir2104s的自举电容_一文看懂ir2110自举电容的选择 - 全文
  17. VM虚拟机安装orcle数据库
  18. 通过IP地址连接两台电脑
  19. 微型计算机主板常用部件,简明微型计算机组装与维护教程
  20. 微信二级不死域名和微信白名单的区别?

热门文章

  1. Mathlab编程-微积分在Matlab中的解法
  2. MyCAT  In Action中文版
  3. 大白小课程-跟着官方教程学习Scratch3.0-P04制作音乐
  4. ps学习笔记4-PS常用的格式
  5. 阿里P6到P9的技术栈有哪些?程序员该如何准备学习?如何进入大厂
  6. 微商城分销系统开发方式需求与价格开发周期评估
  7. RASP技术进阶系列(一):与WAF的“相爱相杀”
  8. 4g网络设置dns地址_上网速度慢,修改一下win10系统的DNS设置,网速飙升
  9. php 大转盘抽奖概率 角度,在线抽奖大转盘和概率计算
  10. aligned内存对齐