电池

检测设备相关硬件数据。

Battery

获取电池信息,需要注册 Intent.ACTION_BATTERY_CHANGED 获取系统电池状态。

是否有电池

通过Intent.ACTION_BATTERY_CHANGED方式获取。返回值是boolean值,判断是有有电池。

boolan isPresent = intent.getBooleanExtra(BatteryManager.EXTRA_PRESENT);

充电状态

通过Intent.ACTION_BATTERY_CHANGED方式获取。可以是以下值中的一个:

  • BATTERY_STATUS_CHARGING 正在充电。
  • BATTERY_STATUS_DISCHARGING 放电。
  • BATTERY_STATUS_FULL 电充满。
  • BATTERY_STATUS_NOT_CHARGING 不在充电。
  • BATTERY_STATUS_UNKNOWN 未知。

电池状态值。

// 可以获取当前电池是否正在充电,或已经充满,均属于充电状态。
int  state = intent.getIntExtra(BatteryManager.EXTRA_STATUS, -1);

充电方式

获取电池plugged信息。目前官方提供的充电方式,总的有4中:

  • BatteryManager.BATTERY_PLUGGED_AC
  • BatteryManager.BATTERY_PLUGGED_USB
  • BatteryManager.BATTERY_PLUGGED_WIRELESS
  • BatteryManager.BATTERY_PLUGGED_DOCK最后一个是高版本 Api Level 33中新增。
// 获取充电方式,可以是usb,ac充电,无线充电(wireless)等。
int  plugged = intent.getIntExtra(BatteryManager.EXTRA_PLUGGED, 0);

电量

获取电池电量。

获取剩余电量,没有小数部分的数值。

// Android 5.0以上
BatteryManager bm = (BatteryManager) context.getSystemService(Context.BATTERY_SERVICE);
int remaining = bm.getIntProperty(BatteryManager.BATTERY_PROPERTY_CAPACITY);

另外获取电量的方式。

通过Intent.ACTION_BATTERY_CHANGED方式获取,从intent中读取 EXTRA_LEVEL, EXTRA_SCALE 值进行计算。

int level = intent.getIntExtra(BatteryManager.EXTRA_LEVEL, -1);
int scale = intent.getIntExtra(BatteryManager.EXTRA_SCALE, -1);
float batteryPercent = level * 100 * 1.0f/ scale;

温度

获取电池温度。通过接收Intent.ACTION_BATTERY_CHANGED广播获取温度信息。

int temperature = intent.getIntExtra(BatteryManager.EXTRA_TEMPERATURE);

电压

电池电压信息。通过接收Intent.ACTION_BATTERY_CHANGED广播获取温度信息。

int voltage = intent.getIntExtra(BatteryManager.EXTRA_VOLTAGE);

电池健康状况

获取电池状态信息。通过接收Intent.ACTION_BATTERY_CHANGED广播获取温度信息。

通过常量key BatteryManager.EXTRA_HEALTH 获取int值。可以是下列几个之一:

  • BATTERY_HEALTH_UNKNOWN 未知。
  • BATTERY_HEALTH_GOOD 良好。
  • BATTERY_HEALTH_OVERHEAT 过热。
  • BATTERY_HEALTH_DEAD 死机。
  • BATTERY_HEALTH_OVER_VOLTAGE 电压过载。
  • BATTERY_HEALTH_UNSPECIFIED_FAILURE 未知失败。
  • BATTERY_HEALTH_COLD 低温。
int health = intent.getIntExtra(BatteryManager.EXTRA_HEALTH);

Android Battery信息相关推荐

  1. 理解 Android Battery 信息

    本人只是 Android小菜一个,写技术文档只是为了总结自己在最近学习到的知识,从来不敢为人师,如果里面有些不正确的地方请大家尽情指出,谢谢! 1. 概述 作为一个手机用户,如果问大家最关心手机哪方面 ...

  2. 关闭Android电池温度告警框,android电源信息查看(电量、温度、电压)实例代码

    本文实例讲述了android电源信息查看方法.分享给大家供大家参考.具体如下: 1. PowerTestActivity: import android.app.Activity; import an ...

  3. 【Android 逆向】Android 逆向通用工具开发 ( 网络模块开发 | SOCKET 网络套接字初始化 | 读取远程端 “Android 模拟器“ 信息 | 向远程端写出数据 )

    文章目录 前言 一.SOCKET 网络套接字初始化 二.SOCKET 网络套接 读取远程端 ( Android 模拟器 ) 信息 三.SOCKET 网络套接 向远程端 ( Android 模拟器 ) ...

  4. 【Android 逆向】Android 系统文件分析 ( Android 系统 root 环境准备 | 查看 Android 根目录信息 )

    文章目录 一.Android 系统 root 环境准备 二.查看 Android 根目录信息 一.Android 系统 root 环境准备 需要一部 root 过的手机 , 或者直接使用带有 root ...

  5. c语言获取安卓弹窗,Android实现信息弹出框

    本文实例为大家分享了Android实现信息弹出框的具体代码,供大家参考,具体内容如下 layout下的dialog_common_layout.xml android:layout_width=&qu ...

  6. android 学生信息管理系统,android学生信息管理系统的报告.docx

    android学生信息管理系统的报告 基于Android的学生信息管理系统初探 [摘要]智能移动端迅猛发展,学生信息管理的数字化是教学透明的又一个重要体现,本文主要阐述基于基于Android的学生信息 ...

  7. 车载android系统最新版是多少,通用汽车宣布在2021年全面启用新版Android车载信息娱乐系统...

    (图自:GM,via SlashGear) 除中国市场外,通用将为旗下车载信息娱乐系统预装原生 Android Automotive OS .其基于 Android 9.0 Pie 打造,但不会立即出 ...

  8. android开发获取手机,通过ADB获取Android手机信息,获取手机信息

    通过ADB获取Android手机信息,获取手机信息 原文:https://blog.csdn.net/fasfaf454/article/details/51438743 1.获取手机系统信息( CP ...

  9. android设备信息

    android设备信息 一.android 设备信息 import java.io.BufferedReader; import java.io.FileNotFoundException; impo ...

最新文章

  1. 可汗学院向量入门 矩阵入门
  2. 自学python推荐书籍2019-2019年Python入门书籍推荐
  3. 【学无止境】关于通过PHP链接FTP或SFTP的问题及解决--FTP篇
  4. php js获取file,PHP file_get_contents 读取js脚本的问题
  5. 用 chown 和 chmod 修改目录所属用户及权限
  6. android+主界面所有应用程序图标添加统一背景主题,Android 4.0替Launcher主界面所有应用程序图标添加统一背景主题...
  7. Redis再入门 codis 对比 Memcached
  8. 玩转 Numpy 的精选习题
  9. 新冠肺炎病毒(Covid-19)检测系统
  10. matlab代码注释方法--单行多行
  11. 软件工程人才的社会需求现状与发展分析
  12. 老路教你用得上的商学课_系列笔记
  13. 服务器远程管理简介(ILO,BMC,RSA)
  14. LAN9220 MII并行接口 PHY设备
  15. DICOM医学影像文件解析
  16. ArcGIS制图学习(1)
  17. 【PMP】PMBOK 笔记 第7章 项目成本管理
  18. YoutubeAPI使用
  19. 面试自我介绍如何介绍呢?
  20. 魔兽世界台服显示无法连接服务器,魔兽世界台服服务器爆满 部分服务器已锁定 - 178魔兽世界专区...

热门文章

  1. 用Canvas为网页添加动态背景
  2. 查看phpinfo方法
  3. 云计算方向研究热点、 云计算有怎样的发展前景?
  4. 3.5计算机网络(无线局域网 PPP协议&HDLC协议 广域网 链路层设备)
  5. 局域网(LAN),广域网(WAN)和互联网
  6. ADO.NET Entity Framework 入门示例
  7. java日志保存_log4j实现日志集中存储
  8. 深入了解计算机系统(CS:APP)思考题
  9. HFS+和HFSX的区别
  10. 深度学习:ResNet(残差网络)