安卓获取电池广播/电池状态/电池电压/电池电流的方法

1. 电池广播信息

// 电池状态
import static android.os.BatteryManager.EXTRA_STATUS;
// 未知
import static android.os.BatteryManager.BATTERY_STATUS_UNKNOWN;
// 充电中
import static android.os.BatteryManager.BATTERY_STATUS_CHARGING;
// 放电中
import static android.os.BatteryManager.BATTERY_STATUS_DISCHARGING;
// 未充电
import static android.os.BatteryManager.BATTERY_STATUS_NOT_CHARGING;
// 电池满
import static android.os.BatteryManager.BATTERY_STATUS_FULL;
// 电池健康情况
import static android.os.BatteryManager.EXTRA_HEALTH;
// 未知
import static android.os.BatteryManager.BATTERY_HEALTH_UNKNOWN;
// 良好
import static android.os.BatteryManager.BATTERY_HEALTH_GOOD;
// 过热
import static android.os.BatteryManager.BATTERY_HEALTH_OVERHEAT;
// 没电
import static android.os.BatteryManager.BATTERY_HEALTH_DEAD;
// 未知错误
import static android.os.BatteryManager.BATTERY_HEALTH_UNSPECIFIED_FAILURE;
// 过电压
import static android.os.BatteryManager.BATTERY_HEALTH_OVER_VOLTAGE;
// 温度过低
import static android.os.BatteryManager.BATTERY_HEALTH_COLD;
// 充电类型
import static android.os.BatteryManager.EXTRA_PLUGGED;
// 充电器
import static android.os.BatteryManager.BATTERY_PLUGGED_AC;
// 其他
import static android.os.BatteryManager.BATTERY_PLUGGED_ANY;
// USB
import static android.os.BatteryManager.BATTERY_PLUGGED_USB;
// 无线充电
import static android.os.BatteryManager.BATTERY_PLUGGED_WIRELESS;
// 当前电量
import static android.os.BatteryManager.EXTRA_LEVEL;
// 当前电池温度
import static android.os.BatteryManager.EXTRA_TEMPERATURE;
import static android.os.BatteryManager.EXTRA_SCALE;
// 当前电池电压
import static android.os.BatteryManager.EXTRA_VOLTAGE;
// 电池技术描述
import static android.os.BatteryManager.EXTRA_TECHNOLOGY;
// 最大充电电压
import static android.os.BatteryManager.EXTRA_MAX_CHARGING_VOLTAGE;
// 最大充电电流
import static android.os.BatteryManager.EXTRA_MAX_CHARGING_CURRENT;

我们可以监听电池广播获取

private  BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver() {@Overridepublic void onReceive(Context context, Intent intent) {if (null == intent) {return;}String action = intent.getAction();if (Intent.ACTION_BATTERY_CHANGED.equals(action)) {int status = intent.getIntExtra(EXTRA_STATUS, BATTERY_STATUS_UNKNOWN);int plugged = intent.getIntExtra(EXTRA_PLUGGED, BATTERY_PLUGGED_ANY);int level = intent.getIntExtra(EXTRA_LEVEL, 0);int scale = intent.getIntExtra(EXTRA_SCALE, 0);int health = intent.getIntExtra(EXTRA_HEALTH, BATTERY_HEALTH_UNKNOWN);int maxChargingMicroAmp = intent.getIntExtra(EXTRA_MAX_CHARGING_CURRENT, -1);int maxChargingMicroVolt = intent.getIntExtra(EXTRA_MAX_CHARGING_VOLTAGE, -1);int batteryVolt = intent.getIntExtra(EXTRA_VOLTAGE, -1);int temperature = intent.getIntExtra(EXTRA_TEMPERATURE, -1);String batteryTechnologyDescript = intent.getStringExtra(EXTRA_TECHNOLOGY);

2. 电池电压获取

读取文件节点

adb shell "cat /sys/class/power_supply/battery/batt_vol"

     /*** 当前充电电压 uV** adb shell "cat /sys/class/power_supply/battery/batt_vol"*/private int getCurrentChargingVoltage() {int result = 0;BufferedReader br = null;try {String line;br = new BufferedReader(new FileReader("/sys/class/power_supply/battery/batt_vol"));if ((line = br.readLine()) != null) {result = Integer.parseInt(line);}br.close();} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();} finally {if (br != null) {try {br.close();} catch (IOException e) {e.printStackTrace();}}}return result;}

3. 电池电流获取

读取文件节点

adb shell "cat /sys/class/power_supply/battery/BatteryAverageCurrent"

     /* 当前充电电流 mA** adb shell "cat /sys/class/power_supply/battery/BatteryAverageCurrent"*/private int getCurrentChargingCurrent() {int result = 0;BufferedReader br = null;try {String line;br = new BufferedReader(new FileReader("/sys/class/power_supply/battery/BatteryAverageCurrent"));if ((line = br.readLine()) != null) {result = Integer.parseInt(line);}br.close();} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();} finally {if (br != null) {try {br.close();} catch (IOException e) {e.printStackTrace();}}}return result;}

安卓获取电池广播/电池状态/电池电压/电池电流的方法相关推荐

  1. Android设备的电池续航时间优化(Optimizing Battery Life)——(一)监听电池电量和电池的充电状态

    当你想通过减少后台更新服务的更新频率来降低程序对电池的影响时,检查电池当前的电量和充电状态将是一个比较好的起点. 程序更新对电池造成的影响将取决于当前电池电量和充电状态,比如说,当设备正在充电的时候, ...

  2. Android设备的电池续航时间优化(Optimizing Battery Life)——(一)监听电池电量和电池的充电状态...

    当你想通过减少后台更新服务的更新频率来降低程序对电池的影响时,检查电池当前的电量和充电状态将是一个比较好的起点. 程序更新对电池造成的影响将取决于当前电池电量和充电状态,比如说,当设备正在充电的时候, ...

  3. android充电状态广播,Android 获取电池是否充电状态、充电器类型

    0. demo 下载 https://github.com/sufadi/BatteryInfo 1. 电池广播获取充电状态 // 电池状态 import static android.os.Batt ...

  4. android特殊代码,安卓手机输入这些特殊代码,电池状态查得清清楚楚!

    原标题:安卓手机输入这些特殊代码,电池状态查得清清楚楚! 智能手机在很大程度上方便了我们的生活,但是我们也逐渐依赖上了手机,想更了解自己的手机,知道自己到底在手机哪些地方花费了多少时间吗,安卓君来告诉 ...

  5. java获取大疆无人机飞行数据包括:无人机名称、海拔高度、经纬度信息、起飞状态、电池电量、飞行时间、上升速度、前行速度等飞行数据

    前言 无人机名称.海拔高度.经纬度信息.起飞状态.电池电量.飞行时间.上升速度.前行速度等飞行数据. 软件链接为:http://zjxf.kmdns.net:18701/dj-login   (测试账 ...

  6. Android官方开发文档Training系列课程中文版:电池续航时间优化之监测电池电量及充电状态

    原文地址:http://android.xsoftlab.net/training/monitoring-device-state/index.html 引言 作为一款优秀的APP应用,应该总是想方设 ...

  7. android 重置电池信息,安卓手机用re管理器修改电池信息增加待机时间

    您可能感兴趣的话题: 安卓 核心提示:安卓手机用re管理器修改电池信息增加待机时间,一起看看吧! 智能机的电池时钟是个大问题,与应用市场上下载不完的应用相比,手机续航显得捉襟见肘.小编下面针对刷机后的 ...

  8. 安卓修改电池容量教程_安卓手机用re管理器修改电池信息增加待机时间

    智能机的电池时钟是个大问题,与上下载不完的应用相比,手机续航显得捉襟见肘.小编下面针对刷机后的感觉电池续航变短的朋友给一个小小的增加待机时间的技巧,当然这个技巧虽然能解决一点点问题,但确实是解决不了根 ...

  9. 小米手机电池校正_华为小米等安卓福音:超实用手机电池校正 解决电池虚标不耐用!...

    原标题:华为小米等安卓福音:超实用手机电池校正 解决电池虚标不耐用! 手机用久了,难免电量一点点的减弱,造成续航的下降,甚至电量充不满的情况 这是因为电量的虚标!因为苹果手手机以及华为手机,小米手机, ...

最新文章

  1. mybatis的一些基础问题
  2. Java中动态获取项目根目录和tomcat的绝对路径
  3. [BZOJ 2054]疯狂的馒头
  4. 『ACM-算法-二分法』在单调递增序列a中查找小于等于x的数中最大的一个(即x或x的前驱)
  5. 余额宝利率破2.4%,你还会把钱放在余额宝里面吗?
  6. datagrid 完整dom结构
  7. 代码分享:JS判断登陆端是PC还是手机
  8. relocation R_X86_64_PC32 against symbol lua_newstate can not be used when making a shared object
  9. 前端性能优化(慕课网笔记)-3-代码优化
  10. angular2 路由ajax,angular2路由切换改变页面title的示例代码
  11. Win11修改用户名(超详细图文)
  12. Angular4 - 组件
  13. Unity5.x从入门到精通资源(电子版+书内项目)
  14. 文法去除空产生式_文法的二义性和化简
  15. 【历史上的今天】12 月 8 日:D 语言发布;“复制粘贴”的发明者逝世;人人网成立
  16. js 解析多层json字符串
  17. 【人脸识别】face_recognition 库的使用
  18. bert的兄弟姐妹梳理——Roberta、DeBerta、Albert、Ambert、Wobert等
  19. 集成——Mac电脑上app自动化测试(Appium + xcode 8.2 + python)环境搭建
  20. 如何进行远程会议及在线演示

热门文章

  1. 前端04 /css样式
  2. Android SDK 离线包安装
  3. PWN环境如何搭建?
  4. 搭建个人博客(三):Hexo-theme-pure个人博客中博文上传以及分类和标签的设定
  5. docker原理和镜像管理
  6. (转)程序员如何静下心来高效学习
  7. android 高版本(设备11的)wifi扫描,获取wifi列表
  8. 10-Vue报错Unknown custom element: bili-title - did you register the component correctly?
  9. 心电图心跳信号多分类预测-特征提取(三)
  10. CPU是怎么实现加速的?