Battery API の使い方 – WebAPI の一部
原文: Using the Battery API – Part of WebAPI (on February 7, 2012 by Robert Nyman)
端末やコンピュータでバッテリー残量を検出することで、現在の状態をユーザに知らせる助けになります。Mozilla の WebAPI には、この機能を提供する Battery API があります。
バッテリーへのアクセス
はじめに、battery オブジェクトにアクセスしましょう:
var battery = navigator.mozBattery;
プロパティ
端末のバッテリーの充電レベルを検出するために、いくつかのプロパティが提供されています:
- Battery level
- 現在のバッテリー残量を確認します。0 から 1 の間の値を返します。
- Battery charging
- 端末またはコンピュータが充電中かどうかを表す真偽値を返します。
- Battery chargingTime
- バッテリーの充電が完了するまでの残り時間を秒単位で返します。充電中である時に使用可能です。
- Battery dischargingTime
- バッテリーが空になるまでの残り時間を秒単位で返します。充電中でない時に使用可能です。
// バッテリー残量をパーセントで取得します
var batteryLevel = battery.level * 100 + "%";
// 端末が充電中かどうかを調べます
var chargingStatus = battery.charging;
// 充電完了までの時間です
var batteryCharged = battery.chargingTime;
// バッテリーが空になるまでの時間です
var batteryDischarged = battery.dischargingTime;
イベント
バッテリーの状態変更を検出する 4 つのイベントが使用可能です:
- levelchange
- バッテリー残量が変化したことを検出します。
- chargingchange
- 充電中にプラグが外された、またはプラグが挿され充電開始したことを検出します。
- chargingtimechange
- 端末の充電時間が変化したことを検出します (充電中の時)。
- dischargingtimechange
- 端末のバッテリーが空になるまでの時間が変化したことを検出します (充電中でない時)。
<code>battery.addEventLister("levelchange", function () { // 端末のバッテリー残量が変化した時のコード }, false); battery.addEventListener("chargingchange", function () { // 端末の充電が開始された、または充電が解除された時のコード }, false); battery.addEventListener("chargingtimechange", function () { // 端末の充電時間が変化した時のコード }, false); battery.addEventListener("dischargingtimechange", function () { // 端末のバッテリーが空になるまでの時間が変化した時のコード }, false);</code>
端末のサポート
Battery API は、次の OS のFirefox Beta でサポートされています:
- Android (Firefox Aurora) (訳注: 記事執筆時の Aurora)
- Windows
- Linux (UPower がインストールされたディストリビューション。最近のものは同梱)
今のところ、Mac OS X 上の実装作業は行われていません。スキルのある方の 貢献を歓迎します!
デモとコード
基本的な Battery API のデモ とソースコードを用意しました。ソースコードは、GitHub 上の Battery API リポジトリ にあります。
ご使用の端末で期待した結果が得られないときは、原因を究明するために バグを報告 してください。この機能は実験段階にあるため、製品で使用する準備はまだできていません。