1. 開発者向けのウェブ技術
  2. Web API
  3. バッテリー状態 API

このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

バッテリー状態 API

利用可能性は限定的

この機能はベースラインではありません。最も広く使用されているブラウザーの一部で動作しません。

Want more support for this feature? Tell us why.

バッテリー状態 API は、 バッテリー API と呼ばれることの方が多いのですが、システムのバッテリー充電レベルに関する情報の提供、およびバッテリーレベルや充電状態が変化したときに発生するイベントによる通知を可能にします。これは、バッテリーが消耗したときにバッテリー消費を減らすためアプリのリソース使用状況を調整したり、データを失わないためにバッテリーが切れる前に変更点を保存したりするために使用できます。

メモ: この API はウェブワーカー では利用できません(WorkerNavigator には公開されていません)。

インターフェイス

BatteryManager

システムのバッテリー充電レベルに関する情報を提供します。

Promise を返します。これは BatteryManager オブジェクトで解決します。

以下の例では、充電状況(電源に接続して充電中であるか)の変化およびバッテリーレベルの変化およびタイミングを監視します。これは、 chargingchange, levelchange, chargingtimechange, dischargingtimechange の各イベントをそれぞれ待ち受けすることによって実現します。

js
navigator.getBattery().then((battery) => {
 function updateAllBatteryInfo() {
 updateChargeInfo();
 updateLevelInfo();
 updateChargingInfo();
 updateDischargingInfo();
 }
 updateAllBatteryInfo();
 battery.addEventListener("chargingchange", () => {
 updateChargeInfo();
 });
 function updateChargeInfo() {
 console.log(`Battery charging? ${battery.charging ? "Yes" : "No"}`);
 }
 battery.addEventListener("levelchange", () => {
 updateLevelInfo();
 });
 function updateLevelInfo() {
 console.log(`Battery level: ${battery.level * 100}%`);
 }
 battery.addEventListener("chargingtimechange", () => {
 updateChargingInfo();
 });
 function updateChargingInfo() {
 console.log(`Battery charging time: ${battery.chargingTime} seconds`);
 }
 battery.addEventListener("dischargingtimechange", () => {
 updateDischargingInfo();
 });
 function updateDischargingInfo() {
 console.log(`Battery discharging time: ${battery.dischargingTime} seconds`);
 }
});

仕様書に記載されているサンプルもご覧ください。

仕様書

仕様書
Battery Status API

ブラウザーの互換性

api.BatteryManager

api.Navigator.getBattery

関連情報

MDN の改良に協力

協力方法を知る

このページは MDN の貢献者によって に最終更新されました。

AltStyle によって変換されたページ (->オリジナル) /