以下のWebAPIを使用します。
Battery Status API
https://developer.mozilla.org/ja/docs/WebAPI/Battery_Status
取得可能な情報:
バッテリの残量(レベル)、
充電中かどうか
充電中完了までの時間
電池が空っぽになるまでの時間
アプリの表示部分
次のようにHTMLで表示します。<body onload="onLoad()"> <div id="charging">(charging state unknown)</div> <div id="chargingTime"></div> <div id="dischargingtime"></div> <div id="level"></div> </body>
JavaScriptでWebAPIを使う
HTMLのbodyタグから、次のJavaScriptを実行させるようにしました。
// <body>のonloadにセット
/*
interface BatteryManager : EventTarget {
readonly attribute boolean charging;
readonly attribute unrestricted double chargingTime;
readonly attribute unrestricted double dischargingTime;
readonly attribute double level;
attribute EventHandler onchargingchange;
attribute EventHandler onchargingtimechange;
attribute EventHandler ondischargingtimechange;
attribute EventHandler onlevelchange;
};
*/
function onLoad(){
var battery = navigator.battery;
updateBatteryInfo();
// add Listener
battery.addEventListener("chargingchange", updateBatteryInfo, false);
battery.addEventListener("chargingTime", updateBatteryInfo, false);
battery.addEventListener("dischargingtimechange", updateBatteryInfo, false);
battery.addEventListener("levelchange", updateBatteryInfo, false);
// set text
function updateBatteryInfo(){
document.querySelector('#charging').textContent = battery.charging ? 'charging' : 'not charging';
document.querySelector('#chargingTime').textContent = battery.chargingTime;
document.querySelector('#dischargingtime').textContent = battery.dischargingTime;
document.querySelector('#level').textContent = battery.level * 100 +"%";
}
}
不要になったタイミングで、battery.removeEventListenerをコールし、リスナー解除を行いましょう。
FirefoxOs内の次のプログラムが非常に参考になります。
Gaia層(Settingアプリのソース)
\gaia\apps\settings\js
0 件のコメント:
コメントを投稿