BatteryManager 接口提供方法获取系统电量。 

navigator.getBattery 方法返回一个promise对象,该promise将提供一个BatteryManager接口,你可以从Battery Status API 查询到相关信息。

属性

BatteryManager.charging 只读
一个布尔值,说明当前电池是否正在充电。
BatteryManager.chargingTime 只读
一个数字,代表距离充电完毕还需多少秒,如果为0则充电完毕。
BatteryManager.dischargingTime 只读
一个数字,代表距离电池耗电至空且挂起需要多少秒。
BatteryManager.level 只读
一个数字,代表电量的放大等级,这个值在 0.0 至 1.0 之间。

事件处理器

BatteryManager.onchargingchange
chargingchange事件处理器;电池充电状态更新时被调用。
BatteryManager.onchargingtimechange
chargingtimechange事件处理器;电池充电时间更新时被调用。
BatteryManager.ondischargingtimechange
dischargingtimechange事件处理器;电池断开充电时间更新时被调用。
BatteryManager.onlevelchange
levelchange事件处理器;电池电量更新时被调用。

方法

继承自EventTarget:

EventTarget.addEventListener()
在EventTarget上注册特定事件类型的事件处理程序。
EventTarget.removeEventListener()
EventTarget中删除事件侦听器。
EventTarget.dispatchEvent()
将事件分派到此EventTarget。

Mozilla chrome 代码的其他方法

Mozilla扩展,供JS实现的事件目标使用以 实现 on* 属性。另见 WebIDL bindings 绑定。

  • void setEventHandler(DOMString type, EventHandler handler)
  • EventHandler getEventHandler(DOMString type)

规格Specifications

Specification Status Comment
Battery Status API Candidate Recommendation Initial definition

浏览器兼容性

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
基本支持 39.0 10 (10) moz
16 (16)[1]
未实现 25 未实现
Feature Android Android Webview Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile Chrome for Android
基本支持 未实现 40.0 10.0 (10) moz
16.0 (16)[1]
未实现 25[2] 未实现 42.0[2]

[1] 在Firefox 10.0中默认无效,但可设定preference dom.battery.enabledtrue从而使其有效化。自Firefox 11.0起,mozBattery默认有效。Battery API现能被支持与Android,Windows,和安装了UPower的Linux。自Gecko 18.0 (Firefox 18.0 / Thunderbird 18.0 / SeaMonkey 2.15)也能支持MacOS。Firefox还为被弃用的navigator.battery提供支持。

[2] BatteryManager.chargingTimeBatteryManager.dischargingTime的值总是等于无穷。

其他

文档标签和贡献者

此页面的贡献者: lixuanh, Alphmega, yangfeileo
最后编辑者: lixuanh,