Health Connect 会存储健康与健身数据,并对其进行结构化处理。它还会为 不同数据类型的衡量方式。这些数据类型包括心率 立即进行的测量值、一段时间内的步数以及睡眠数据 。
请务必先了解健康类内容涉及的数据类型和权限 关联优惠,以便您规划应用的要求。这样, 您需要先检查数据类型,然后才能确定您的要求
数据类型类别
Health Connect 支持大多数健康与健身活动中使用的数据类型 尽可能提供多样化的应用Health Connect 旨在提供 全面查看和存储健康与健身数据。这些数据类型属于 可分为以下几类:
- 活动:用于捕获用户的所有活动数据,其中可能包括跑步、游泳和睡眠等健康与健身活动的数据。
- 身体测量:用于捕获与身体相关的常见数据,例如 用户的体重及其基础代谢率。
- 经期记录:用于捕获月经周期和相关数据点,例如排卵检测的二元结果。
- 营养:用于捕获饮水量和营养方面的数据。前者 表示用户单次摄入的水量。后者 包括卡路里、糖和镁等可选字段。
- 睡眠:用于捕获与用户的睡眠时长和类型相关的区间数据。
- 生命体征:用于捕获与用户的整体健康状况相关的重要信息,其中包括体温、血糖和血液等数据 压力和血氧饱和度。
数据类型格式
Health Connect 中的数据类型存储在
Record
。
每种数据类型都有对应的泛型关联字段,如
time
和 zoneOffset
,或特定参数,例如 title
、count
和 percentage
。
有些字段使用简单类型(如长整型、双精度型或字符串型),还有一些字段则使用
复杂类型(例如枚举)和类(例如 Instant
和
ZoneOffset
。这些字段的属性可以是必填字段,也可以是
可选属性。有些属性是只读属性,还有一些属性被强制锁定为
特定范围的值。
如需查看可用数据类型及其字段的完整列表,请参阅 (位于 Jetpack)中。
其他数据属性
Health Connect API 中的数据还包含下表中所述的元数据属性:
- Health Connect ID:每个数据点在创建时都分配有一个唯一标识符 (UID)。这对于标准读写操作非常有用。 如需了解详情,请参阅 Health Connect ID。
- 上次修改时间:用于标记上次记录记录的时间戳 有更新。此 ID 会在首次创建 或在每次更新时执行
- 数据源:Health Connect 会存储 数据来源。它包含该源的软件包名称 会在创建时自动添加
- 设备:Health Connect 会存储数据的来源设备的相关信息。其中包含该设备的制造商和型号 手动提供该值
- 客户端 ID:Health Connect 提供客户端 ID,以便客户端应用可以 引用使用其自身 ID 的数据,这有助于解决冲突, 让同步变得更轻松。您需要将这些信息手动提供给记录。
- 客户端记录版本:除了客户端 ID,Health Connect 还提供了 有助于在数据同步期间跟踪更改。您需要将这些信息手动提供给记录。
- 记录方法:借助 Health Connect,您可以了解数据的记录方式。 这些方法包括应用被动(自动)录制数据,用户 主动或手动记录数据。
健康数据共享 ID
Health Connect 会为新插入的数据对象分配唯一标识符 (UID), 用于识别数据对象并将其与其他数据对象区分开来。健康数据共享 ID 在读取或写入请求中很有用。Health Connect ID 与 客户端 ID。客户端 ID 由客户端应用分配,而 Health Connect 专门分配 分配 Health Connect ID。
使用 Health Connect ID 时,请注意以下几点:
- 时段具有单个 Health Connect ID,但时段中的数据具有 自己的 Health Connect ID。
- Health Connect ID 与时间戳没有绑定或关联。
- 某些用例可能需要在运行期间存储特定的 Health Connect ID 工作流。例如,要检索并展示 用户刚刚记录的数据条目。
Health Connect 中的时间
写入 Health Connect 的所有数据都必须指定时区偏移量信息。 指定时区偏移量后,应用即可读取数据以 民用时间。民用时间是指与用户相关的本地时间, 但不一定采用世界协调时间 (UTC)。
在极少数情况下,时区偏移量可能不可用。出现这种情况的时间 在 Android 14(API 级别 34)中,Health Connect 会根据 设备的系统默认时区。在 Android 13 及更低版本中 (API 级别 33 及更低级别),可以在不使用 API 的情况下 指定任何时区偏移量信息,必须尽量避免此类信息。
时间和时区设置
通过在写入数据时指定时区偏移量信息,可以在读取 Health Connect 中的数据时提供时区信息。但也可能无法做到这一点 在某些情况下(例如未提供时区偏移量时)。您的应用需要做好准备,从而以适合您具体情况的方式来处理这两种数据。
权限
在请求任何权限之前,您的应用必须先在清单中声明这些权限。有关数据类型及其 权限。
对于 1.0.0-alpha10 及更高版本
记录类类型 | 读取和写入权限声明 |
---|---|
ActiveCaloriesBurned |
android.permission.health.READ_ACTIVE_CALORIES_BURNED
android.permission.health.WRITE_ACTIVE_CALORIES_BURNED |
BasalBodyTemperature |
android.permission.health.READ_BASAL_BODY_TEMPERATURE
android.permission.health.WRITE_BASAL_BODY_TEMPERATURE |
BasalMetabolicRate |
android.permission.health.READ_BASAL_METABOLIC_RATE
android.permission.health.WRITE_BASAL_METABOLIC_RATE |
BloodGlucose |
android.permission.health.READ_BLOOD_GLUCOSE
android.permission.health.WRITE_BLOOD_GLUCOSE |
BloodPressure |
android.permission.health.READ_BLOOD_PRESSURE
android.permission.health.WRITE_BLOOD_PRESSURE |
BodyFat |
android.permission.health.READ_BODY_FAT
android.permission.health.WRITE_BODY_FAT |
BodyTemperature |
android.permission.health.READ_BODY_TEMPERATURE
android.permission.health.WRITE_BODY_TEMPERATURE |
BodyWaterMass |
android.permission.health.READ_BODY_WATER_MASS
android.permission.health.WRITE_BODY_WATER_MASS |
BoneMass |
android.permission.health.READ_BONE_MASS
android.permission.health.WRITE_BONE_MASS |
CervicalMucus |
android.permission.health.READ_CERVICAL_MUCUS
android.permission.health.WRITE_CERVICAL_MUCUS |
CyclingPedalingCadence |
android.permission.health.READ_EXERCISE
android.permission.health.WRITE_EXERCISE |
Distance |
android.permission.health.READ_DISTANCE
android.permission.health.WRITE_DISTANCE |
ElevationGained |
android.permission.health.READ_ELEVATION_GAINED
android.permission.health.WRITE_ELEVATION_GAINED |
ExerciseSession |
android.permission.health.READ_EXERCISE
android.permission.health.WRITE_EXERCISE |
FloorsClimbed |
android.permission.health.READ_FLOORS_CLIMBED
android.permission.health.WRITE_FLOORS_CLIMBED |
HeartRate |
android.permission.health.READ_HEART_RATE
android.permission.health.WRITE_HEART_RATE |
HeartRateVariabilityRmssd |
android.permission.health.READ_HEART_RATE_VARIABILITY
android.permission.health.WRITE_HEART_RATE_VARIABILITY |
Height |
android.permission.health.READ_HEIGHT
android.permission.health.WRITE_HEIGHT |
Hydration |
android.permission.health.READ_HYDRATION
android.permission.health.WRITE_HYDRATION |
IntermenstrualBleeding |
android.permission.health.READ_INTERMENSTRUAL_BLEEDING
android.permission.health.WRITE_INTERMENSTRUAL_BLEEDING |
LeanBodyMass |
android.permission.health.READ_LEAN_BODY_MASS
android.permission.health.WRITE_LEAN_BODY_MASS |
MenstruationFlow |
android.permission.health.READ_MENSTRUATION
android.permission.health.WRITE_MENSTRUATION |
MenstruationPeriod |
android.permission.health.READ_MENSTRUATION
android.permission.health.WRITE_MENSTRUATION |
Nutrition |
android.permission.health.READ_NUTRITION
android.permission.health.WRITE_NUTRITION |
OvulationTest |
android.permission.health.READ_OVULATION_TEST
android.permission.health.WRITE_OVULATION_TEST |
OxygenSaturation |
android.permission.health.READ_OXYGEN_SATURATION
android.permission.health.WRITE_OXYGEN_SATURATION |
Power |
android.permission.health.READ_POWER
android.permission.health.WRITE_POWER |
RespiratoryRate |
android.permission.health.READ_RESPIRATORY_RATE
android.permission.health.WRITE_RESPIRATORY_RATE |
RestingHeartRate |
android.permission.health.READ_RESTING_HEART_RATE
android.permission.health.WRITE_RESTING_HEART_RATE |
SexualActivity |
android.permission.health.READ_SEXUAL_ACTIVITY
android.permission.health.WRITE_SEXUAL_ACTIVITY |
SleepSession |
android.permission.health.READ_SLEEP
android.permission.health.WRITE_SLEEP |
Speed |
android.permission.health.READ_SPEED
android.permission.health.WRITE_SPEED |
StepsCadence |
android.permission.health.READ_STEPS
android.permission.health.WRITE_STEPS |
Steps |
android.permission.health.READ_STEPS
android.permission.health.WRITE_STEPS |
TotalCaloriesBurned |
android.permission.health.READ_TOTAL_CALORIES_BURNED
android.permission.health.WRITE_TOTAL_CALORIES_BURNED |
Vo2Max |
android.permission.health.READ_VO2_MAX
android.permission.health.WRITE_VO2_MAX |
Weight |
android.permission.health.READ_WEIGHT
android.permission.health.WRITE_WEIGHT |
WheelchairPushes |
android.permission.health.READ_WHEELCHAIR_PUSHES
android.permission.health.WRITE_WHEELCHAIR_PUSHES |
对于 1.0.0-alpha09 及更低版本
记录类类型 | 读取和写入权限声明 |
---|---|
ActiveCaloriesBurned |
androidx.health.permission.ActiveCaloriesBurned.READ
androidx.health.permission.ActiveCaloriesBurned.WRITE |
BasalBodyTemperature |
androidx.health.permission.BasalBodyTemperature.READ
androidx.health.permission.BasalBodyTemperature.WRITE |
BasalMetabolicRate |
androidx.health.permission.BasalMetabolicRate.READ
androidx.health.permission.BasalMetabolicRate.WRITE |
BloodGlucose |
androidx.health.permission.BloodGlucose.READ
androidx.health.permission.BloodGlucose.WRITE |
BloodPressure |
androidx.health.permission.BloodPressure.READ
androidx.health.permission.BloodPressure.WRITE |
BodyFat |
androidx.health.permission.BodyFat.READ
androidx.health.permission.BodyFat.WRITE |
BodyTemperature |
androidx.health.permission.BodyTemperature.READ
androidx.health.permission.BodyTemperature.WRITE |
BodyWaterMass |
androidx.health.permission.BodyWaterMass.READ
androidx.health.permission.BodyWaterMass.WRITE |
BoneMass |
androidx.health.permission.BoneMass.READ
androidx.health.permission.BoneMass.WRITE |
CervicalMucus |
androidx.health.permission.CervicalMucus.READ
androidx.health.permission.CervicalMucus.WRITE |
CyclingPedalingCadence |
androidx.health.permission.CyclingPedalingCadence.READ
androidx.health.permission.CyclingPedalingCadence.WRITE |
Distance |
androidx.health.permission.Distance.READ
androidx.health.permission.Distance.WRITE |
ElevationGained |
androidx.health.permission.ElevationGained.READ
androidx.health.permission.ElevationGained.WRITE |
ExerciseSession |
androidx.health.permission.ExerciseSession.READ
androidx.health.permission.ExerciseSession.WRITE |
FloorsClimbed |
androidx.health.permission.FloorsClimbed.READ
androidx.health.permission.FloorsClimbed.WRITE |
HeartRate |
androidx.health.permission.HeartRate.READ
androidx.health.permission.HeartRate.WRITE |
HeartRateVariabilityRmssd |
androidx.health.permission.HeartRateVariabilityRmssd.READ
androidx.health.permission.HeartRateVariabilityRmssd.WRITE |
Height |
androidx.health.permission.Height.READ
androidx.health.permission.Height.WRITE |
Hydration |
androidx.health.permission.Hydration.READ
androidx.health.permission.Hydration.WRITE |
IntermenstrualBleeding |
androidx.health.permission.IntermenstrualBleeding.READ
androidx.health.permission.IntermenstrualBleeding.WRITE |
LeanBodyMass |
androidx.health.permission.LeanBodyMass.READ
androidx.health.permission.LeanBodyMass.WRITE |
MenstruationFlow |
androidx.health.permission.MenstruationFlow.READ
androidx.health.permission.MenstruationFlow.WRITE |
Nutrition |
androidx.health.permission.Nutrition.READ
androidx.health.permission.Nutrition.WRITE |
OvulationTest |
androidx.health.permission.OvulationTest.READ
androidx.health.permission.OvulationTest.WRITE |
OxygenSaturation |
androidx.health.permission.OxygenSaturation.READ
androidx.health.permission.OxygenSaturation.WRITE |
Power |
androidx.health.permission.Power.READ
androidx.health.permission.Power.WRITE |
RespiratoryRate |
androidx.health.permission.RespiratoryRate.READ
androidx.health.permission.RespiratoryRate.WRITE |
RestingHeartRate |
androidx.health.permission.RestingHeartRate.READ
androidx.health.permission.RestingHeartRate.WRITE |
SexualActivity |
androidx.health.permission.SexualActivity.READ
androidx.health.permission.SexualActivity.WRITE |
SleepSession |
androidx.health.permission.SleepSession.READ
androidx.health.permission.SleepSession.WRITE |
Speed |
androidx.health.permission.Speed.READ
androidx.health.permission.Speed.WRITE |
StepsCadence |
androidx.health.permission.StepsCadence.READ
androidx.health.permission.StepsCadence.WRITE |
Steps |
androidx.health.permission.Steps.READ
androidx.health.permission.Steps.WRITE |
TotalCaloriesBurned |
androidx.health.permission.TotalCaloriesBurned.READ
androidx.health.permission.TotalCaloriesBurned.WRITE |
Vo2Max |
androidx.health.permission.Vo2Max.READ
androidx.health.permission.Vo2Max.WRITE |
Weight |
androidx.health.permission.Weight.READ
androidx.health.permission.Weight.WRITE |
WheelchairPushes |
androidx.health.permission.WheelchairPushes.READ
androidx.health.permission.WheelchairPushes.WRITE |
查看您的数据类型和权限
现在,您已规划好数据类型和权限,接下来可以实现 在开发期间使用。
在将应用上传到 Play 商店之前仔细检查该应用时,请仔细检查 您的应用所需的数据类型和权限的列表。这样,您就可以 准确声明应用的数据使用方式。
当您准备将应用发布到 Play 商店时 声明对应用的“健康数据共享”数据类型的访问权限 用途。否则,系统可能会向用户显示错误消息,提示您的应用 无法访问 Health Connect 数据类型,因为它们需要特殊的 审核。