Modern mobile health, fitness, and medical applications generate rich telemetry, including daily step counts, continuous heart rate metrics, sleep stages, nutritional logs, and blood glucose data. Previously, health applications relied on fragmented proprietary sync APIs or custom cloud-to-cloud integrations, creating severe security vulnerabilities and privacy blind spots. Starting with Android 14 (API level 34), Health Connect was integrated directly into the core Android operating system as an updatable Project Mainline system module (com.google.android.healthconnect). Health Connect provides an on-device encrypted repository that centralizes health telemetry while enforcing strict, granular user permissions. Using the Android Debug Bridge (ADB), security researchers, mobile developers, and enterprise fleet administrators can query dumpsys healthconnect to inspect connected applications, audit read/write permissions, monitor sync pipelines, and evaluate rate-limiting policies.
Understanding Android Health Connect Architecture
Health Connect replaces legacy cloud brokers with a secure, on-device data store managed directly by the Android framework. Key architectural components include:
- Encrypted On-Device Database: All health and fitness telemetry records are stored in an encrypted SQLite database within the system storage sandbox. Telemetry cannot be read without explicit user permission grants.
- Granular Category Permissions: Permissions are strictly decoupled by data type and operation direction (e.g.
android.permission.health.READ_HEART_RATEandandroid.permission.health.WRITE_STEPS). Apps receive access only to the exact categories authorized by the user. - Background Synchronization: Health Connect supports background telemetry syncing, allowing wearable companion apps to flush metrics while enforcing battery-conscious scheduling through JobScheduler.
- HealthConnectManagerService: Resides within the system module, managing access control lists, auditing API access frequency, evaluating data retention policies, and coordinating telemetry migrations.
Prerequisites and ADB Environment Configuration
Querying the Health Connect subsystem requires an Android device or emulator running Android 14 (API level 34) or later, or an Android 13 device with the official Health Connect Project Mainline module installed. Ensure Developer Options and USB Debugging are active on the test hardware.
Confirm the device connection via the terminal:
adb devices -l
Verify that the healthconnect service is registered with the Service Manager:
adb shell service check healthconnect
The console confirms: Service healthconnect: found.
Querying Complete Health Connect Dumpsys Telemetry
To inspect the runtime state of Health Connect, including connected apps, active database sessions, and migration history, dump the service output via ADB:
adb shell dumpsys healthconnect
The diagnostic dump provides a structured view of the subsystem:
HealthConnectManagerService:
Current User: 0
Database Status: INITIALIZED
Connected Applications:
Package: com.example.fitness.tracker
Allowed Permissions:
- READ_STEPS
- WRITE_STEPS
- READ_HEART_RATE
Revoked Permissions:
- READ_SLEEP
Package: com.example.diet.nutrition
Allowed Permissions:
- WRITE_NUTRITION
Rate Limiting Metrics:
Quota Remaining: 120 / 120 requests
Window Reset Time: 2026-11-08 05:00:00
The dump reveals vital compliance data:
- Database Status: Verifies whether the local cryptographic SQLite store is initialized and accessible.
- Connected Applications: Enumerates all installed packages that have requested or received Health Connect permissions, detailing active read and write allowances.
- Rate Limiting Metrics: Tracks whether applications are consuming excessive API quotas or triggering back-pressure throttles.
Inspecting and Auditing Health Permissions via ADB
Health Connect permissions operate through Android’s standard runtime permission architecture, scoped under the android.permission.health.* namespace.
To inspect the health-related permissions requested by a specific application package:
adb shell dumpsys package com.example.fitness.tracker | grep -A 25 "Health Permissions:"
To audit whether an app currently holds permission to read step count telemetry:
adb shell cmd package dump-permissions com.example.fitness.tracker | grep "READ_STEPS"
During automated testing, engineers can grant or revoke specific health permissions directly via the command line without opening system dialogs:
# Grant read access for steps
adb shell pm grant com.example.fitness.tracker android.permission.health.READ_STEPS
# Revoke heart rate read access
adb shell pm revoke com.example.fitness.tracker android.permission.health.READ_HEART_RATE
Verify that the permission changes were applied in dumpsys healthconnect:
adb shell dumpsys healthconnect | grep -A 10 "com.example.fitness.tracker"
Auditing Health Connect Background Sync and Jobs
Wearable companion applications frequently synchronize telemetry in the background. To prevent battery drain and excessive wakeups, Health Connect coordinates synchronization through the system JobScheduler.
Inspect active Health Connect background synchronization jobs:
adb shell dumpsys jobscheduler | grep -A 20 "healthconnect"
To verify which applications recently accessed the Health Connect database in the background, query the system appops audit buffer:
adb shell cmd appops query-op --user 0 AUTO_REVOKE_PERMISSIONS_IF_UNUSED allow | grep -i health
Troubleshooting Sync Failures and Rate Throttling
When developing or auditing Health Connect integrations, investigate these common operational pitfalls:
- API Rate Throttling: To protect device performance, Health Connect limits the number of read/write transactions an app can perform in a given time window. If an application attempts to batch-write thousands of records continuously, Health Connect returns rate-limit exceptions.
dumpsys healthconnectexposes remaining quota allowances. - Data Migration Status: When users transition from the legacy standalone Health Connect app to the integrated Android 14 system module, data migration must complete. Check the migration flag in the dump:
If migration is stuck in a pending state, applications will be blocked from accessing historical records until sync completes.adb shell dumpsys healthconnect | grep -i "migration" - Manifest Health Declaration: If an app’s requested permissions do not appear in
dumpsys healthconnect, confirm that the app’s manifest includes the mandatory<uses-permission>declarations and declares an activity with theandroidx.health.ACTION_SHOW_PERMISSIONS_RATIONALEintent filter.
By monitoring dumpsys healthconnect with ADB, engineering teams ensure stringent user privacy, verify granular access controls, and diagnose synchronization issues across Android health ecosystems.