バッテリーチェッカー

【Android Studio】バッテリーチェッカーの作り方 第3回「BatteryReceiverを登録する」

 
ここまでの記事はこちら
 

今回は最後の仕上げです。

前回用意した BatteryReceiver の登録と解除を実装しましょう。
 
 


 

動画

準備中
 
 
 

解説

BatteryReceiver の登録

バッテリー状態に変化があったときにシステムからメッセージを受け取るためには BatteryReceiver を登録する必要があります。
 

MainActivity.java を開いて、2・3・11~15行目を追加します。

 
 

3行目

IntentFilter は受け取りたいインテントのタイプを指定することができます。

前回 BatteryReceiver.java で受け取ったアクションの判定をしました。

if (action != null && action.equals(Intent.ACTION_BATTERY_CHANGED)) {

この時使ったアクション ACTION_BATTERY_CHANGED を IntentFilter でも指定しています。
 
 

11~15行目

onResume メソッドはユーザーがアプリを使えるようなった時に呼ばれます。

一度アプリを離れて再開する時にも呼ばれるので、ここで BatteryReceiver を登録します。
 
 
 

BatteryReceiver の解除

何度もレシーバーが登録されたり、実行された状態が続かないように、登録したレシーバーは必ず解除します。

10~14行目を追加します。

 
 

onPause メソッドはユーザーがアクティビティを離れる時に呼び出されます。
 
 

完成

最後にアプリを実行してみてください。


 
 

エミュレータでバッテリー状態を変更する方法

エミュレータの横にあるメニューバーの一番下「…」を押します。


 
 

左側メニューの上から4番目にある Battery から、バッテリー残量・ステータスを変更することができます。


 
 

その他のバッテリー情報

他にも Battery health(正常性)と Charger connection(充電方法)を取得できます。
 

Battery health は

  • BATTERY_HEALTH_UNKNOWN
  • BATTERY_HEALTH_GOOD
  • BATTERY_HEALTH_OVERHEAT

などを取得できます。
 

Charger connection は

  • BATTERY_PLUGGED_AC
  • BATTERY_PLUGGED_USB
  • BATTERY_PLUGGED_WIRELESS

を取得できます。
 

参考:BatteryManager  |  Android デベロッパー  |  Android Developers
 
 
 

サンプルコード

準備中
 
 

ABOUT ME
Sara
「わかりやすく・シンプル」をモットーに、スマホアプリ・ウェブアプリの作り方を紹介します。 独学でプログラミングを勉強をしている方、基礎は勉強したけれど次に何をすれば良いか分からない...という方のお役に立てるサイトを目指しています🙂
guest
0 Comments
Inline Feedbacks
View all comments
0
この記事にコメントするx