It’s a feature that has been on the Apple iPhone forever and if you’re reading this and thinking “well, my Android device has that”, then that’s because some OEM’s have included it in their skin. However, officially, stock Android does not include a battery level indication for connected Bluetooth devices. This simple icon provides an incredible amount of information for devices like headphones that perhaps don’t have an obvious battery level indicator.
That could be about to change as a new API has been added to AOSP that will make it seemingly a lot easier to establish the charge level of your Bluetooth headphones, namely:
- Add BluetoothDevice.getBatteryLevel() API to retreive battery level information of remote device
- Add BluetoothDevice.ACTION_BATTERY_LEVEL_CHANGED intent to notify user that remote device’s battery level has changed
- Add backend service methods for BluetoothDevice.getBatteryLevel()
- Add battery level field in DeviceProperties with getters and setters
- Add updateBatteryLevel() method in RemoteDevices
- Add resetBatteryLevel() method in RemoteDevices
- Reset battery level for device when device is disconnected in aclStateChangeCallback() to ensure a BATTERY_LEVEL_CHANGED intent when device first report battery level information after connection
- Add tests for updateBatteryLevel() and resetBatteryLevel()
While the API has been added, we know it won’t be in Android O as Google have finalized the APIs but we could see the indicator appear in a minor point update shortly after Android O goes public.