ตรวจสอบความพร้อมใช้งานของฟีเจอร์

เมื่อมีการเพิ่มฟีเจอร์ใหม่ลงใน Health Connect ผู้ใช้อาจไม่อัปเดต Health Connect เป็นเวอร์ชันล่าสุดเสมอไป Feature Availability API เป็นวิธีตรวจสอบว่าฟีเจอร์ใน Health Connect พร้อมใช้งานในอุปกรณ์ของผู้ใช้หรือไม่ และตัดสินใจว่าจะดำเนินการอย่างไร

เริ่มต้นใช้งาน

Feature Availability API มีทรัพยากร Dependency ที่เหมือนกับ Health Connect SDK หากต้องการเริ่มต้นใช้งาน ให้ตรวจสอบว่ามีเวอร์ชัน 1.1.0-alpha08 ขึ้นไปอยู่ในไฟล์ build.gradle

dependencies {
  implementation("androidx.health.connect:connect-client:1.1.0-alpha08")
}

แฟล็กฟีเจอร์

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

ตาราง: แฟล็กความพร้อมใช้งานของฟีเจอร์ Health Connect
แฟล็กฟีเจอร์ ประเภทข้อมูล คำแนะนำที่เกี่ยวข้อง
FEATURE_ACTIVITY_INTENSITY ความหนักของกิจกรรม การออกกำลังกาย
FEATURE_EXTENDED_DEVICE_TYPES ประเภทอุปกรณ์เพิ่มเติม ข้อกำหนดของข้อมูลเมตา
FEATURE_MATCHMAKING การจับคู่ผู้เล่น
FEATURE_PERSONAL_HEALTH_RECORD เวชระเบียน รูปแบบข้อมูลเวชระเบียน
เขียนข้อมูลทางการแพทย์
อ่านข้อมูลทางการแพทย์
FEATURE_MINDFULNESS_SESSION การเจริญสติ ติดตามการเจริญสติ
FEATURE_PLANNED_EXERCISE การออกกำลังกายที่วางแผนไว้ การออกกำลังกาย
แผนการฝึก
FEATURE_READ_HEALTH_DATA_IN_BACKGROUND อ่านข้อมูลในเบื้องหลัง ตัวอย่างการอ่านข้อมูลในเบื้องหลัง
FEATURE_READ_HEALTH_DATA_HISTORY อ่านข้อมูลประวัติ อ่านข้อมูลที่เก่ากว่า 30 วัน
FEATURE_SKIN_TEMPERATURE อุณหภูมิผิวหนัง ค่าสัญญาณชีพ
วัดอุณหภูมิผิวหนัง

ทำการตรวจสอบ

ฟังก์ชันหลักในการตรวจสอบความพร้อมใช้งานของฟีเจอร์คือ getFeatureStatus() ซึ่งจะแสดงค่าคงที่จำนวนเต็ม FEATURE_STATUS_AVAILABLE หรือ FEATURE_STATUS_UNAVAILABLE

หากต้องการตรวจสอบว่าอุปกรณ์ของผู้ใช้รองรับการอ่านข้อมูลสุขภาพในเบื้องหลังใน Health Connect หรือไม่ ให้ตรวจสอบความพร้อมใช้งานของ FEATURE_READ_HEALTH_DATA_IN_BACKGROUND ในไคลเอ็นต์

if (healthConnectClient
     .features
     .getFeatureStatus(
       HealthConnectFeatures.FEATURE_READ_HEALTH_DATA_IN_BACKGROUND
     ) == HealthConnectFeatures.FEATURE_STATUS_AVAILABLE) {

  // Feature is available
} else {
  // Feature isn't available
}

ดูรายการแฟล็กฟีเจอร์ทั้งหมดที่พร้อมใช้งานได้ในหน้าHealthConnectFeatures รายการอ้างอิง

จัดการกรณีที่ฟีเจอร์ไม่พร้อมใช้งาน

หากฟีเจอร์ไม่พร้อมใช้งานในอุปกรณ์ของผู้ใช้ การอัปเดตอาจทำให้ฟีเจอร์พร้อมใช้งาน คุณอาจพิจารณาแนะนำให้ผู้ใช้อัปเดต Health Connect หากผู้ใช้ไม่มีเวอร์ชันที่รองรับล่าสุดในอุปกรณ์ อย่างไรก็ตาม ผู้ใช้ที่ใช้ APK (ใน Android 13 และเวอร์ชันก่อนหน้า) จะใช้ฟีเจอร์โมดูลระบบที่พร้อมใช้งานในอุปกรณ์ที่ใช้ Android 14 ขึ้นไปไม่ได้

สำหรับประเภทอุปกรณ์เพิ่มเติม หาก FEATURE_EXTENDED_DEVICE_TYPES ไม่พร้อมใช้งานในอุปกรณ์ของผู้ใช้ ระบบจะถือว่าค่าเหล่านั้นเป็น Device.TYPE_UNKNOWN โปรดระบุการทำงานสำรองที่สมเหตุสมผลในตรรกะการเขียนและ UI