วัดอุณหภูมิผิวหนัง

Health Connect มีประเภทข้อมูลอุณหภูมิผิวหนังเพื่อวัดอุณหภูมิส่วนปลายของร่างกาย การวัดนี้มีประโยชน์อย่างยิ่งในการระบุคุณภาพการนอนหลับ สุขภาพการเจริญพันธุ์ และแนวโน้มการเกิดโรค

สิทธิ์ที่จำเป็น

การเข้าถึงอุณหภูมิผิวหนังจะได้รับการปกป้องโดยสิทธิ์คู่กัน ได้แก่ READ_SKIN_TEMPERATURE และ WRITE_SKIN_TEMPERATURE เช่นเดียวกับข้อมูลประเภทอื่นๆ ใน Health Connect

ข้อมูลที่รวมอยู่ในระเบียนอุณหภูมิผิวหนัง

การวัดอุณหภูมิผิวหนังจะจัดระเบียบเป็นระเบียน แต่ละระเบียนประกอบด้วย ข้อมูลต่อไปนี้

  • อุณหภูมิฐานเป็นองศาเซลเซียสหรือองศาฟาเรนไฮต์ ค่านี้เป็นค่าที่ไม่บังคับซึ่งมีประโยชน์มากที่สุดสำหรับการแสดงภาพใน UI ของแอป
  • รายการเดลต้าของอุณหภูมิผิวหนัง โดยแต่ละอันแสดงการเปลี่ยนแปลงของอุณหภูมิผิวหนังตั้งแต่การวัดครั้งล่าสุด หากระบุอุณหภูมิฐานไว้ ความแตกต่างเหล่านี้ควรใช้หน่วยอุณหภูมิเดียวกัน
  • ตำแหน่งบนร่างกายของผู้ใช้ที่ทำการวัด เช่น นิ้ว เท้า หรือข้อมือ

การรวมที่รองรับ

Health Connect ช่วยให้คุณดูค่ารวมต่อไปนี้สำหรับรายการ Delta ที่ระบุ

  • ค่าต่ำสุด
  • ค่าสูงสุด
  • มูลค่าเฉลี่ย

อ่านข้อมูลอุณหภูมิผิวหนัง

ข้อมูลโค้ดต่อไปนี้แสดงวิธีอ่านค่าอุณหภูมิผิวหนังโดยใช้ไลบรารี Jetpack

suspend fun readSkinTemperatures() {
    // Error handling, permission check, and feature availability check
    // aren't included.

    // Record includes measurements during the past hour.
    val recordEndTime = Instant.now()
    val recordStartTime = recordEndTime.minusSeconds(60 * 60)

    val response = healthConnectClient.readRecords(
        ReadRecordsRequest<SkinTemperatureRecord>(
            timeRangeFilter = TimeRangeFilter.between(
                    recordStartTime, recordEndTime)
        )
    )

    for (skinTemperatureRecord in response.records) {
        // Process each skin temperature record here.
    }
}

เขียนข้อมูลอุณหภูมิผิวหนัง

ข้อมูลโค้ดต่อไปนี้แสดงวิธีเขียนการวัดอุณหภูมิผิวหนังโดยใช้ไลบรารี Jetpack


suspend fun writeSkinTemperatures(): InsertRecordsResponse {
    // Error handling, permission check, and feature availability check
    // aren't included.

    // Record includes measurements during the past hour.
    val recordEndTime: ZonedDateTime = now()
    val recordStartTime: ZonedDateTime = recordEndTime.minusHours(1)

    return healthConnectClient.insertRecords(
        // For this example, there's only one skin temperature record.
        listOf(
            SkinTemperatureRecord(
                startTime = recordStartTime.toInstant(),
                startZoneOffset = recordStartTime.offset,
                endTime = recordEndTime.toInstant(),
                endZoneOffset = recordEndTime.offset,
                deltas = listOf(
                    SkinTemperatureRecord.Delta(
                            recordEndTime.minusMinutes(50), celsius(0.5)),
                    SkinTemperatureRecord.Delta(
                            recordEndTime.minusMinutes(30), celsius(-0.7))
                ),
                measurementLocation =
                        SkinTemperatureRecord.MEASUREMENT_LOCATION_FINGER
            )
        )
    )
}