[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 バッテリー情報を取り出す

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







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

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

TECH ACADEMY
オンライン説明会



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


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



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


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


シェアする

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

フォローする