Android Battery信息

电池

检测设备相关硬件数据。

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);
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

VoidHope

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值