Промежуточные точки BloodPresure от GoogleFit

Я использую этот код для получения данных артериального давления:

case DataBloodPresureRequest:
    return new DataReadRequest.Builder()
        .aggregate(HealthDataTypes.TYPE_BLOOD_PRESSURE, 
            HealthDataTypes.AGGREGATE_BLOOD_PRESSURE_SUMMARY)
        .bucketByTime(1, TimeUnit.DAYS)
        .setTimeRange(startTime, endTime, TimeUnit.MILLISECONDS)
        .enableServerQueries()
        .build();

Я получил:

Data point:
    Type: com.google.blood_pressure.summary
    Start: 08.01.2019 01:51:02
    End: 08.01.2019 01:55:44
    Timestamp: 08.01.2019 01:55:44
    Field: blood_pressure_systolic_average Value: 202.5
    Field: blood_pressure_systolic_max Value: 205.0
    Field: blood_pressure_systolic_min Value: 200.0
    Field: blood_pressure_diastolic_average Value: 97.5
    Field: blood_pressure_diastolic_max Value: 100.0
    Field: blood_pressure_diastolic_min Value: 95.0
    Field: body_position Value: unset
    Field: blood_pressure_measurement_location Value: unset

08.01.2019 имеет две точки [data], но я получаю только max, min и s за период. Я хотел бы иметь очки, как это в приложении GoogleFit:

данные (08.01.2019 01:51:02) - значение (200/95)

данные (08.01.2019 01:53:02) - значение (205/95)

Точка данных имеет startDate а также endDate, но не имеет промежуточных точек.

1 ответ

Вы явно запрашиваете агрегированные точки данных через DataReadRequest.Builder.aggregate вызов.

использование read вместо.

Другие вопросы по тегам