Constructor

Health()
Creates a new Health instance. Typically used as a singleton.
final health = Health();

Permission Methods

hasPermissions

Check if permissions have been granted.
Future<bool?> hasPermissions(
  List<HealthDataType> types, {
  List<HealthDataAccess>? permissions,
})
Returns: true (granted), false (denied), or null (not determined) See Permissions docs

requestAuthorization

Request user authorization for health data access.
Future<bool> requestAuthorization(
  List<HealthDataType> types, {
  List<HealthDataAccess>? permissions,
})
Returns: true if authorization granted See Permissions docs

revokePermissions

Revoke previously granted permissions.
Future<bool> revokePermissions()
Returns: true if permissions revoked successfully See Permissions docs

Reading Methods

getHealthDataFromTypes

Read health data points for specified types and time range.
Future<List<HealthDataPoint>> getHealthDataFromTypes({
  required List<HealthDataType> types,
  required DateTime startDate,
  required DateTime endDate,
  bool includeManualEntry = true,
})
See Basic Reading docs

getHealthIntervalDataFromTypes

Read health data aggregated into time intervals.
Future<List<HealthDataPoint>> getHealthIntervalDataFromTypes({
  required DateTime startDate,
  required DateTime endDate,
  required List<HealthDataType> types,
  required Duration interval,
  bool includeManualEntry = true,
})
See Interval Reading docs

getHealthAggregateDataFromTypes

Read pre-aggregated health data (primarily for workouts).
Future<List<HealthDataPoint>> getHealthAggregateDataFromTypes({
  required List<HealthDataType> types,
  required DateTime startDate,
  required DateTime endDate,
  int activitySegmentDuration = 1,
  bool includeManualEntry = true,
})
See Aggregate Reading docs

getTotalStepsInInterval

Get total step count for a time period.
Future<int?> getTotalStepsInInterval(
  DateTime startDate,
  DateTime endDate,
)
Returns: Total steps or null if no data See Steps Reading docs

Writing Methods

writeHealthData

Write numeric health data.
Future<bool> writeHealthData({
  required double value,
  required HealthDataType type,
  required DateTime startTime,
  DateTime? endTime,
  String? sourceId,
  String? sourceName,
  DateTime? recordingTime,
})
See Basic Writing docs

writeWorkoutData

Write workout/exercise session data.
Future<bool> writeWorkoutData({
  required HealthWorkoutActivityType activityType,
  required DateTime start,
  required DateTime end,
  double? totalEnergyBurned,
  int? totalEnergyBurnedUnit,
  double? totalDistance,
  int? totalDistanceUnit,
})
See Workout Writing docs

writeBloodPressure

Write blood pressure readings.
Future<bool> writeBloodPressure({
  required double systolic,
  required double diastolic,
  required DateTime startTime,
  DateTime? endTime,
})
See Blood Pressure docs

writeBloodOxygen

Write blood oxygen saturation data.
Future<bool> writeBloodOxygen({
  required double saturation,
  required DateTime startTime,
  DateTime? endTime,
  double? flowRate,
})
See Blood Oxygen docs

writeMeal

Write nutrition/meal data.
Future<bool> writeMeal({
  required DateTime startTime,
  DateTime? endTime,
  MealType? mealType,
  String? name,
  double? calories,
  double? protein,
  double? carbs,
  double? fat,
  // ... many more micronutrient parameters
})
See Nutrition docs

writeMenstruationFlow

Write menstrual flow data.
Future<bool> writeMenstruationFlow({
  required MenstruationFlow flow,
  required DateTime startTime,
  DateTime? endTime,
})
See Specialized Writing docs

writeAudiogram

Write hearing test results.
Future<bool> writeAudiogram({
  required List<double> frequencies,
  required List<double> leftEarSensitivities,
  required List<double> rightEarSensitivities,
  required DateTime startTime,
  DateTime? endTime,
})
See Specialized Writing docs

writeInsulinDelivery

Write insulin delivery data.
Future<bool> writeInsulinDelivery({
  required double units,
  required DateTime startTime,
  DateTime? endTime,
})
See Specialized Writing docs

Deletion Methods

delete

Delete health data by type and time range.
Future<bool> delete({
  required HealthDataType type,
  required DateTime startTime,
  required DateTime endTime,
})
See Deletion docs

deleteByUUID

Delete specific data point by UUID (iOS only).
Future<bool> deleteByUUID({
  required String uuid,
})
See Deletion docs

deleteByClientRecordId

Delete data by custom record ID (Android only).
Future<bool> deleteByClientRecordId({
  required String clientRecordId,
})
See Deletion docs

Health Connect Methods (Android)

getHealthConnectSdkStatus

Check Health Connect SDK installation status.
Future<HealthConnectSdkStatus> getHealthConnectSdkStatus()
Returns: SDK status enum value See Health Connect docs

isHealthConnectAvailable

Check if Health Connect is available on device.
Future<bool> isHealthConnectAvailable()
See Health Connect docs

installHealthConnect

Open Health Connect installation in Play Store.
Future<void> installHealthConnect()
See Health Connect docs

hasHistoricalAccessPermissions

Check historical data access permissions.
Future<bool> hasHistoricalAccessPermissions(
  List<HealthDataType> types,
)
See Health Connect docs

requestHistoricalAccessPermissions

Request access to historical health data.
Future<bool> requestHistoricalAccessPermissions(
  List<HealthDataType> types,
)
See Health Connect docs

revokeHistoricalAccessPermissions

Revoke historical data access.
Future<void> revokeHistoricalAccessPermissions()
See Health Connect docs

hasBackgroundAccessPermissions

Check background data access permissions.
Future<bool> hasBackgroundAccessPermissions(
  List<HealthDataType> types,
)
See Health Connect docs

requestBackgroundAccessPermissions

Request background data access.
Future<bool> requestBackgroundAccessPermissions(
  List<HealthDataType> types,
)
See Health Connect docs

revokeBackgroundAccessPermissions

Revoke background data access.
Future<void> revokeBackgroundAccessPermissions()
See Health Connect docs

Platform Configuration

configure (iOS)

Configure iOS HealthKit background delivery.
Future<bool> configure()

Method Summary

CategoryMethodsCount
PermissionshasPermissions, requestAuthorization, revokePermissions3
ReadinggetHealthDataFromTypes, getHealthIntervalDataFromTypes, getHealthAggregateDataFromTypes, getTotalStepsInInterval4
WritingwriteHealthData, writeWorkoutData, writeBloodPressure, writeBloodOxygen, writeMeal, writeMenstruationFlow, writeAudiogram, writeInsulinDelivery8
Deletiondelete, deleteByUUID, deleteByClientRecordId3
Health ConnectgetHealthConnectSdkStatus, isHealthConnectAvailable, installHealthConnect, has/request/revokeHistoricalAccess, has/request/revokeBackgroundAccess9
Configurationconfigure1
Total28

See Also