[Android] BatteryManager バッテリー情報を取り出す

バッテリーの充電情報を BatteryManager と Broadcast Intent のACTION_BATTERY_CHANGED を使って取得できます。また、Lollipop で追加された機能もあります。
 
1x1.trans - [Android] BatteryManager バッテリー情報を取り出す


Android Studio
2021.2.1

 




BateryManager

 

BatteryManagerはバッテリー情報を sticky Intent でブロードキャストしますが、sticky Intent なので BroadCast の登録をわざわざしなくてもよく、null を渡せばできます。
Ref: BatteryManager
Monitoring the Battery Level and Charging State
 
簡単に今の電池残量は下のようにして取得できます
 

 
バッテリーレベルはログによると「91」です

ただ、正確には BatteryManager.EXTRA_SCALE で最大値を出して
level/maxLevel
のように計算しますが、大概Max は100の場合が多いようですのでそのまま%で扱えます。

MainActivity.java

 
Android機により一部の機能のみの実装だったりと機種次第のところがあります。いずれこれが実装されれば便利なアプリが作れそうです。
 
activity_main.xml

 
基本的にバッテリー残量などの外部デバイスを使う場合は実機に依存する部分があることを前提にすべきですが、Android Studio 2.0からemulatorである程度確認することができます。

 
1x1.trans - [Android] BatteryManager バッテリー情報を取り出す

バッテリー残量やその他のステータスを変更して試せます。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする