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

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

Android Studio 3.5.3
API 29

 



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

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

誤字脱字、意味不明で分からにゃイ、
などのご意見はこちらから mailフォーム

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

 

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

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

オンラインスクールは色々ありますが、以下の3つはAndroidが学習できる老舗スクールです。


TECH ACADEMY
Androidアプリコース


こういうものではアプリ作れないと言う意見もありますが、それは結局本人のやる気があるかないかです。やる気があっても独学では突破しにくいところは教えてもらうのが一番早い。


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


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


CodeCamp
~約8,000名の受講生と80社以上の導入実績~
現役エンジニアのオンライン家庭教師CodeCamp




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




シェアする

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

フォローする