Вы можете контролировать уровень заряда батареи
// Get the status
val batteryStatus: Intent? = IntentFilter(Intent.ACTION_BATTERY_CHANGED).let { ifilter ->
context.registerReceiver(null, ifilter)
}
// Get the battery level percentage
val batteryPct: Float? = batteryStatus?.let { intent ->
val level: Int = intent.getIntExtra(BatteryManager.EXTRA_LEVEL, -1)
val scale: Int = intent.getIntExtra(BatteryManager.EXTRA_SCALE, -1)
level * 100 / scale.toFloat()
}
Из do c относительно широковещательных приемников
'Потому что это липкий намерение, вам не нужно регистрировать BroadcastReceiver - просто вызывая registerReceiver, передавая null в качестве получателя, как показано в следующем фрагменте, возвращается намерение текущего состояния батареи. '