使用 phonegap 或 cordova 获取当前电池电量?

Posted

技术标签:

【中文标题】使用 phonegap 或 cordova 获取当前电池电量?【英文标题】:Get current battery level using phonegap or cordova? 【发布时间】:2016-03-24 20:42:42 【问题描述】:

功能类似

window.addEventListener("batterystatus", onBatteryStatus, false);

function onBatteryStatus(info)

 // Handle the online event
    console.log("Level: " + info.level + " isPlugged: " + info.isPlugged);

触发事件时返回电池电量和状态。在正常情况下,如何在不编写插件的情况下获取电池运行时间的状态。

另外,如果有任何 API 或其他相关/替代解决方案,请提及。

【问题讨论】:

你必须使用这个插件,github.com/apache/cordova-plugin-battery-status,如果不使用cordova插件,你将无法访问电池状态和电量 @Kamesh:我现在也有同样的问题。您是否找到了获取当前电池状态的解决方案? @NadeemKhoury:这个插件似乎只在电池状态发生变化时注册事件,而不是直接返回状态。您是否知道这是否会在初始化时触发适当的事件,或者如果它永远不会以某种方式改变,您是否可能永远不会获得状态?您如何获得状态以立即使用,而不必等待事件告诉您? @Trevortni 看看我的回答兄弟。告诉我它是否有效? @NadeemKhoury:这实际上根本没有解决我的问题,或者提供您之前提供的链接中未包含的任何新信息,除非答案是不,它不会做什么已经被问到,在这种情况下,直接说出来会简单得多。 【参考方案1】:

@Trevortini,请查看此链接:https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-battery-status/

batterystatus event

当电池电量百分比变化至少 1%,或者当设备插入或拔出时触发。返回一个包含电池状态的对象。

例子:

window.addEventListener("batterystatus", onBatteryStatus, false);

function onBatteryStatus(status) 
    console.log("Level: " + status.level + " isPlugged: " + status.isPlugged);

干杯。

【讨论】:

这仅显示更改状态,不直接显示第一次调用。你有一个不改变的解决方案吗?【参考方案2】:

不要使用事件,只使用 battery.level(Phonegap Build 8.1.1 和最新插件 phonegap-plugin-battery-status)

if( typeof navigator.getBattery!='undefined' )

    navigator.getBattery().then(function(battery) 

        alert('Battery Level: '+battery.level);

    );


else
    alert('Plugin missing');

【讨论】:

抱歉,刚刚发现它只适用于我的 Adroid 设备,不适用于我的 ios 开发者

以上是关于使用 phonegap 或 cordova 获取当前电池电量?的主要内容,如果未能解决你的问题,请参考以下文章

当应用程序在Phonegap(cordova)的后台状态下收到推送通知时增加徽章编号,

使用 Phonegap/Cordova 相机插件从相机或图库中选择照片

使用 phonegap / cordova 更改设备配置文件

使用 Phonegap/WebWorks 的黑莓中线程过多

如何将自定义平台添加到 Cordova 或 Phonegap

Cordova/Phonegap 1.6 媒体示例