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

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

Android Studio 3.5.3
API 29

 

R904D.P21641J - [Android] BatteryManager バッテリー情報を取り出すimpression?a id=2545321&p id=969&pc id=1263&pl id=47128 - [Android] BatteryManager バッテリー情報を取り出す

BateryManager

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

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

MainActivity.java

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

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

 
batterymanager 1 300x216 - [Android] BatteryManager バッテリー情報を取り出す

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

誤字脱字、意味不明で分からにゃイ、
などのご意見はこちらから 問合せ

ブックマークしておくと便利です このエントリーをはてなブックマークに追加

 

アプリ開発が上達するお勧め

アプリ開発を始めたけどわからないところがあり、誰かに聞きたいけど周りにはそんな人はいない…あるいは、会社で働いていて日中そんなに時間をとれないなど、オンラインのプログラミングスクールがいいでしょう。

TECH ACADEMY
Androidアプリコース



Code Camp
現役エンジニアによるオンラインプログラミングスクール【CodeCamp】


直接(ネットで)誰か分かる人に聞いた方が早く解決して、上達も早いと思います。



侍エンジニア塾
侍エンジニア塾 無料体験レッスン


とても簡単なことなのに本やネットの画像だけでは分かりにくいことはあります。実際に質問してピンポイントで教えてもらうと、なんだそんなこと、と言うのがけっこうあります。


シェアする

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

フォローする