Battery Monitor
1.7.2 · GitHub
More about this app
Track and log battery capacity and parameters over time using Shizuku
Battery Monitor
](https://github.com/tswistak/Battery-Monitor/releases/latest)
[
](https://f-droid.org/packages/codes.swistak.batterymonitor/)
Battery Monitor is a classic, no-nonsense Android battery app focused on clarity, reliability, and control.
See battery status at a glance, get meaningful notifications, and track battery behavior over time.
Highlights
- Live battery percentage and status in notifications
- Detailed current battery info (charge, temperature, voltage, health, plug state)
- Access advanced battery info using root or Shizuku
- Configurable battery alarms (for charge levels, temperature, and more)
- Battery history/logging with CSV export
- Home screen widgets
- Privacy-friendly by design (no personal data collection)
Features
Main Notification
- Persistent battery status in the notification area
- Flexible display options for percentage/time/status content
- Designed for quick readability
Battery Alarms
- Alerts for full charge
- Alerts when charge drops below or rises above selected levels
- Optional temperature and health-related alerts
History and Logs
- Built-in battery event logging
- Filter and review battery events
- Export logs to CSV for analysis
Widgets
- Circle and full-size widget variants
- Keep battery info visible without opening the app
Privacy
Battery Monitor processes battery and device information locally, including values exposed by the device such as a battery serial number. It does not transmit this information or collect it on external servers.
Project Background
This project is a fork of Battery Indicator Pro / BatteryBot Pro, with continued development and rebranding.
The main goal of the fork is to maintain and enhance the app to ensure it works well on modern Android versions. Check CHANGELOG for details on changes and updates.
Huge thanks to the original authors and contributors.
Development
Use Android Studio for development.
Build
./gradlew assembleDebug
Unit tests
./gradlew test
License
GNU GPL v3.0-or-later.
See LICENSE.
Release signing
GitHub APK releases since version 1.7.0 are signed with OpenPGP.
Fingerprint: 4A5C 1BDE 7687 85AD 68F2 C4F0 99B6 89A2 66FF 1B8B
Public key: docs/release-signing-key.asc.
How Shizuku is used
Can show advanced battery health details and improve live current, voltage and charging limit readings via `dumpsys battery`, `cmd battery get` and sysfs commands through Shizuku.
This is an AI-assisted analysis of Shizuku-related usages in the app's public source code. It is best effort, so it may not catch every single usage.
How this app uses Shizuku
Shizuku is used to read protected battery, power supply and system setting data that normal apps cannot reach, powering detailed diagnostics and more reliable live readings.
- Show advanced battery details: the advanced stats tab loads charge counter, current, energy counter, cycle count, full and design capacity, charging current and voltage limits, charging policy and state, plus raw service and power supply values, collected with
dumpsys battery,cmd battery getand sysfscatandlscommands through Shizuku and hidden battery APIs. - Show battery identity metadata: manufacturing date, first use date, serial number, part status, manufacturer, model name, minimum design voltage, health and remaining charge time are shown from privileged battery APIs when available.
- Improve live current readings: the main current display falls back to privileged
cmd battery getresults for current now and average when standard system and direct file reads give no value. - Improve voltage readings: when broadcast and direct file voltage are invalid, a background probe reads power supply voltage files and
dumpsys batteryoutput through Shizuku and caches the result. - Detect charging protection limits: OEM charging limit state is detected by reading system settings with
settings get, Lineage settings with acontent query, and power supply nodes with privilegedcatwhen direct reads fail. - Diagnose charging support: the diagnostics report gathers
settings list,getprop, system package listings and power supply node discovery through Shizuku to explain device support and adapter state.
Android APIs or commands used
dumpsys batterycmd battery getcat /sys/class/power_supply/battery/cycle_countcat /sys/class/power_supply/battery/charge_fullcat /sys/class/power_supply/battery/charge_full_designls /sys/class/power_supplycat /sys/class/power_supply/*/voltage_nowcat /sys/class/power_supply/*/typesettings getsettings listcontent query --uri content://lineagesettings/systemgetproppm list packages -sidandroid.content.Context.getSystemService(Context.BATTERY_SERVICE)android.os.BatteryManager.getIntPropertyandroid.os.BatteryManager.getLongProperty
Notable details
If privileged access is unavailable, the advanced stats screen shows a no access status instead of values, while live current, voltage and charging limit features continue with standard system readings and direct file access where possible.
Changelog
What's new for version 1.7.2
Improved
- More reliable voltage reading (#142).
Fixed
- Notifications opening Alarms instead of Current State (#139, thanks @matiamb).
Permissions
9 permissions requested
Sources
2 sources
Sources
2 sources