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 リポジトリ にあります。

ご使用の端末で期待した結果が得られないときは、原因を究明するために バグを報告 してください。この機能は実験段階にあるため、製品で使用する準備はまだできていません。