javascript監聽手機電量的API

小編髮現個監聽手機電池的api,大家可以瞭解下:

1.電池形態API

navigator.getBattery():這個api前往的是一個promise對象,會給出一個BatteryManager對象,對象中包括了:設備能否在充電,電量,以及還需充電時長和剩餘時長等信息。

chrome閱讀器、安卓的webview、iphone都可以運用。ie,safari不論是pc還是挪動端都不支持。

調用辦法如下:

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

console.log(battery)

});

console.log打出如下:

javascript監聽手機電量的API

這裡我們可以看到前往的對象中有

屬性

charging:能否充電;

chargingTime:假如是在充電,還需充電工夫;

dischargingTime:電池可用工夫

level:剩餘電量百分數(是個小數,顯示的時分需求處置)

一些可以監聽的事情

onchargingchange:監聽充電形態的改動

onchargingtimechange:監聽充電工夫的改動

ondischargingtimechange:監聽電池可用工夫的改動

onlevelchange:監聽剩餘電量百分數的改動。

例子:

if(‘getBattery‘ in navigator){

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

/*

判別能否在充電

*/

if(battery.charging){

$(‘.isbattery‘).show();

$(‘.notbattery‘).hide();

}else{

$(‘.isbattery‘).hide();

$(‘.notbattery‘).show();

}

/*

判別剩餘電量

*/

if(battery.level>=1){

$(‘.batlevel‘).html(‘電池形態:電量充分 ^_^ 還有‘+battery.level*100+‘%‘);

}else if(battery.level>=0.5){

$(‘.batlevel‘).html(‘電池形態:電量還好 @_@ 還有‘+battery.level*100+‘%‘);

}else{

$(‘.batlevel‘).html(‘電池形態:啊!快沒電了 *_* 還有‘+battery.level*100+‘%‘);

}

/*

電池事情

*/

battery.addEventListener(‘chargingchange‘, function(){

alert("充電形態改動:"+ (battery.charging ? "開端充電" : "不充了"));

});

}else{

$(‘#batteryarea‘).text(‘您的閱讀器不支持電池形態接口‘);

}

下面的代碼可以判別出設備能否在充電,以及剩餘的電量,挪動端和pc端都可以運用。

首先判別了閱讀器能否支持這個api;

然後調用navigator.getBattery()接口,由於前往的是promise對象,所以我們運用then()來獲取前往的數據。

閱讀器前往了BatteryManager對象,然後我們在then的函數外部應用前往的數據寫邏輯。

如果以後碰到這種比較不常見的API可以一起探討下,增長下見識。

javascript監聽手機電量的API


分享到:


相關文章: