getData method
Future<List<HealthKitData> >
getData(
- List<
HealthKitHealthMetric> metrics, - DateTimeRange<
DateTime> timeRange
override
Retrieves health data for specified metrics within the given time range. Returns a list of typed health data objects (heart rate, body temperature, etc.).
Implementation
@override
Future<List<HealthKitData>> getData(
List<HealthKitHealthMetric> metrics,
DateTimeRange timeRange,
) async {
final start = timeRange.start.toUtc().toIso8601String();
final end = timeRange.end.toUtc().toIso8601String();
List<String> types = [];
for (final metric in metrics) {
types.add(metric.definition);
}
Map<String, List<dynamic>>? response = await methodChannel.invokeMapMethod(
"$healthKitPrefix/$getDataSuffix",
{"start": start, "end": end, "types": types},
);
if (response == null) {
throw Exception("[HealthKit] getData returned null");
}
List<HealthKitData> result = _convertToHealthKitData(response);
return result;
}