Battery Service
Provides access to device battery information and state changes.
Inherits: Service
Events
on_state_change: EventHandler that accepts BatteryStateChangeEvent. Called when battery state changes (charging, discharging, full, unknown).Methods
get_battery_level(): async method returning int (0-100) representing the current battery level.get_battery_state(): async method returning BatteryState representing the current battery state.is_in_battery_save_mode(): async method returning bool, True if the device is in battery save mode.Example Usage
import flet as ftasync def main(page: ft.Page):
battery = ft.Battery()
page.services.append(battery) # Keep a reference
info = ft.Text()
state_text = ft.Text()
async def refresh_info(_=None):
level = await battery.get_battery_level()
state = await battery.get_battery_state()
save_mode = await battery.is_in_battery_save_mode()
info.value = f"Level: {level}% | State: {state} | Battery saver: {'on' if save_mode else 'off'}"
await page.update_async()
async def on_state_change(e: ft.BatteryStateChangeEvent):
state_text.value = f"State changed: {e.state}"
await refresh_info()
battery.on_state_change = on_state_change
await refresh_info()
page.add(
ft.Column([
info,
ft.Row([
ft.Button("Refresh battery info", on_click=refresh_info)
]),
state_text,
])
)
ft.run(main)