目的

Androidアプリで端末の現在のバッテリー値を取得する方法

環境

  • Android Studio 4.1
  • Kotlin 1.3.50

対応メモ

以下で取得可能。

val batteryStatus: Intent? = IntentFilter(Intent.ACTION_BATTERY_CHANGED).let { ifilter ->
    this.registerReceiver(null, ifilter)
}
val batteryValue: Float? = batteryStatus?.let { intent ->
    val level: Int = intent.getIntExtra(BatteryManager.EXTRA_LEVEL, -1)
    val scale: Int = intent.getIntExtra(BatteryManager.EXTRA_SCALE, -1)
    level / scale.toFloat()
}
if (batteryValue != null) {
    val i = (batteryValue * 100).toInt()
    batteryView.text = "BATTERY : $i"
}

以上。