以下の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 件のコメント:
コメントを投稿