先日、横山さんのポストを拝見し、 Battery Status API なるものがあることを初めて知った次第。というわけで、どんなものなのかちょっと見てみました。
w3c のドキュメントを見ると、とてもシンプルです。 NavigatorBattery と BatteryManager という interface が定義され、 window.navigator.battery が BatteryManager を implement しているということのようです。
ただ、この Battery Status API 、今のところ Firefox でしか使えないようです。 ⇒ Mozilla のドキュメント
Battery Status API では充電中かどうかや、バッテリーの残量を見ることができますから、バッテリーが心もとない時にはがんばらないとかできそうなのですが。他の環境でも使えるようになるのかなー。
BatteryManager は read only の attribute を四つ持っています。
- charging: boolean
- 充電中なら true
- chargingTime: double
- 充電完了までの時間 (単位は秒)
- dischargingTime: double
- バッテリーの残り時間 (単位は秒)
- level: double
- 満充電を 1.0 とした割合
また、個々の attribute に対応した event handler もあります。
- onchargingchange
- event type は'chargingchange'
- onchargingtimechange
- event type は 'chargingtimechange'
- ondischargingtimechange
- event type は 'dischargingtimechange'
- onlevelchange
- event type は 'levelchange'
で、簡単なサンプル。 chargingTime と dischargingTime にそれなりの値が表示されるまでには、充電 (あるいは放電) 開始してから多少の時間が必要です。ただ、これを Geeksphone PEAK でみてみると、 chargingTime と dischargingTime が取れていないようなんです。
ちなみに、 Firefix OS Simulator だと値がとれています。 Geeksphone PEAK 以外の、例えば Xperia Z 上の Firefox for Android でも、値を取得できています。 KEON でも取れないのかしらん。
0 件のコメント:
コメントを投稿