LoginSignup
2
2

More than 1 year has passed since last update.

Android で端末の充電状態を監視するようにした話

Posted at

はじめに

バッテリーの充電状況を取得するための備忘録メモとなります。
その他、BatteryManager では電池残量やバッテリーの状態などを得ることができます。

Android Developers Reference

BatteryManager

サンプルソース

BroadcastReceiver をマニフェストに登録

AndroidManifest.xml に以下を追加します。

<receiver android:name=".PowerConnectionReceiver"
    android:exported="false">
    <intent-filter>
        <action android:name="android.intent.action.ACTION_POWER_CONNECTED"/>
        <action android:name="android.intent.action.ACTION_POWER_DISCONNECTED"/>
    </intent-filter>
</receiver>

充電状態の変化を監視する

// Kotlin
class PowerConnectionReceiver : BroadcastReceiver() {

    override fun onReceive(context: Context?, intent: Intent?) {
        val status = when(intent?.getIntExtra(BatteryManager.EXTRA_STATUS, -1) ?: -1) {
            BatteryManager.BATTERY_STATUS_CHARGING -> "充電中"
            BatteryManager.BATTERY_STATUS_DISCHARGING -> "放電中"
            BatteryManager.BATTERY_STATUS_FULL -> "充電完了"
            BatteryManager.BATTERY_STATUS_NOT_CHARGING -> "未充電"
            BatteryManager.BATTERY_STATUS_UNKNOWN -> "UNKNOWN"
            else -> "不明"
        }
    }
}
2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2