อ่านข้อมูลดิบ

ตัวอย่างต่อไปนี้จะแสดงให้คุณเห็นวิธีการอ่านข้อมูลดิบซึ่งเป็นส่วนหนึ่งของ

แบบอ่านง่าย

ประเภทข้อมูลขั้นตอนใน Health Connect จะบันทึกจำนวนขั้นตอนของผู้ใช้ ที่ได้รับระหว่างการอ่าน จํานวนก้าวแสดงถึงการวัดทั่วไปใน แพลตฟอร์มด้านสุขภาพ การออกกำลังกาย และสุขภาวะ Health Connect ทำให้อ่านง่าย และเขียนข้อมูลจำนวนก้าว

หากต้องการอ่านระเบียน ให้สร้าง ReadRecordsRequest และจัดหา เมื่อโทรหา readRecords

ตัวอย่างต่อไปนี้แสดงวิธีอ่านข้อมูลจำนวนก้าวของผู้ใช้ภายใน ตามเวลาที่กำหนด สำหรับตัวอย่างเพิ่มเติมที่มี SensorManager โปรดดูจำนวนก้าว สำหรับคู่มือเพิ่มเติม

suspend fun readStepsByTimeRange(
    healthConnectClient: HealthConnectClient,
    startTime: Instant,
    endTime: Instant
) {
    try {
        val response = healthConnectClient.readRecords(
            ReadRecordsRequest(
                StepsRecord::class,
                timeRangeFilter = TimeRangeFilter.between(startTime, endTime)
            )
        )
        for (stepRecord in response.records) {
            // Process each step record
        }
    } catch (e: Exception) {
        // Run error handling here
    }
}

อ่านข้อมูลที่เขียนก่อนหน้านี้

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

หากต้องการอ่านข้อมูลในสถานการณ์นี้ คุณต้องระบุชื่อแพ็กเกจเป็น DataOrigin ในพารามิเตอร์ dataOriginFilter ของ ReadRecordsRequest

ตัวอย่างต่อไปนี้แสดงวิธีระบุชื่อแพ็กเกจเมื่ออ่านขั้นตอน บันทึก:

try {
    val response =  healthConnectClient.readRecords(
        ReadRecordsRequest(
            recordType = StepsRecord::class,
            timeRangeFilter = TimeRangeFilter.between(startTime, endTime),
            dataOriginFilter = setOf(DataOrigin("com.my.package.name"))
        )
    )
    for (record in response.records) {
        // Process each record
    }
} catch (e: Exception) {
    // Run error handling here
}

การจำกัดการอ่าน 30 วัน

Health Connect สามารถอ่านข้อมูลได้นานสูงสุด 30 วันก่อนการให้สิทธิ์ ให้สิทธิ์ครั้งแรก

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

ตัวอย่าง

หากผู้ใช้ให้สิทธิ์อ่านแอปพลิเคชันของคุณเป็นครั้งแรกในวันที่ 30 มีนาคม 2023 ข้อมูลแรกสุดที่แอปสามารถอ่านได้คือตั้งแต่วันที่ 28 กุมภาพันธ์ 2023 เป็นต้นไป

จากนั้นผู้ใช้จะลบแอปของคุณในวันที่ 10 พฤษภาคม 2023 ผู้ใช้ตัดสินใจติดตั้งอีกครั้ง ในวันที่ 15 พฤษภาคม 2023 และให้สิทธิ์อ่าน วันแรกที่แอปของคุณสามารถทำได้ ที่อ่านแล้วข้อมูลจากวันที่ 15 เมษายน 2023

ข้อจำกัดในเบื้องหน้า

การอ่านข้อมูลด้วย Health Connect จำกัดไว้สำหรับแอปพลิเคชันที่ทำงานใน เบื้องหน้า ข้อจำกัดนี้มีขึ้นเพื่อยกระดับความเป็นส่วนตัวของผู้ใช้ วิธีนี้ช่วยให้มั่นใจได้ว่า Health Connect จะไม่มีสิทธิ์การอ่านในเบื้องหลัง ข้อมูล โดยข้อมูลดังกล่าวจะอ่านและเข้าถึงได้เฉพาะในเบื้องหน้าเท่านั้น

สำหรับสถานการณ์ที่การรบกวนที่ยอมรับได้ เช่น การแสดง การอ่านในแอปพลิเคชันของคุณ ให้อ่านจาก Health Connect ไปยังไคลเอ็นต์โดยตรง แอปพลิเคชัน

สำหรับสถานการณ์ที่คุณไม่ต้องการให้มีการหยุดชะงัก เช่น การอ่านช่วง จาก Health Connect มาเขียนและอัปโหลดไว้ที่อื่น ให้ใช้ ForegroundService แทนกิจกรรมที่สามารถปิดได้อย่างรวดเร็ว