Some of my users have head unit devices on Android (in their cars) and of course such device doesn't have battery and the next code returns 0
val batteryLevel = batteryManager.getIntProperty(BatteryManager.BATTERY_PROPERTY_CAPACITY)
and the next method will return false
val status = intent.getIntExtra(BatteryManager.EXTRA_STATUS, -1)
val statusCharging = status == BatteryManager.BATTERY_STATUS_CHARGING
I have a video recording app and it stops recording automatically if batteryLevel <= 1 && !statusCharging
And it stops recording for such devices which don't have any battery
You can use BatteryManager.EXTRA_PRESENT
which according to the documentation, exposes a:
boolean indicating whether a battery is present.