ประกาศสิทธิ์ที่เหมาะสม

บริการสุขภาพใน Wear OS ใช้สิทธิ์ต่อไปนี้ที่แตกต่างกัน

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

หากแอปกำหนดเป้าหมายเป็น API ระดับ 36 ขึ้นไป และใช้ PassiveMonitoringClient เพื่อเข้าถึงข้อมูลเซ็นเซอร์ร่างกายในเบื้องหลัง ให้ขอสิทธิ์ READ_HEALTH_DATA_IN_BACKGROUND หากแอปกำหนดเป้าหมายเป็น API ระดับ 33-35 ให้ขอสิทธิ์ทั้ง BODY_SENSORS และ BODY_SENSORS_BACKGROUND แทน

ประเภทข้อมูล สิทธิ์
CALORIES
CALORIES_DAILY
DISTANCE_DAILY
DECLINE_DISTANCE
DISTANCE
ELEVATION_GAIN
ELEVATION_LOSS
FLAT_GROUND_DISTANCE
FLOORS
FLOORS_DAILY
GOLF_SHOT_COUNT
INCLINE_DISTANCE
PACE
REP_COUNT
RUNNING_STEPS
SPEED
STEPS
STEPS_DAILY
STEPS_PER_MINUTE
SWIMMING_LAP_COUNT
SWIMMING_STROKES
CALORIES_TOTAL
WALKING_STEPS
UserActivityInfo
UserActivityState
ACTIVITY_RECOGNITION
HEART_RATE_BPM READ_HEART_RATE
ABSOLUTE_ELEVATION
LOCATION
ACCESS_FINE_LOCATION

ย้ายข้อมูลเพื่อรองรับ API ระดับ 36

หากแอปกำหนดเป้าหมายเป็น Wear OS 6 (API ระดับ 36) ขึ้นไป ให้ทำตามขั้นตอนต่อไปนี้เพื่อย้ายข้อมูลแอปให้รองรับแพลตฟอร์ม Wear OS เวอร์ชันล่าสุด

  1. ในไฟล์ Manifest ให้เพิ่ม maxSdkVersion สำหรับสิทธิ์เดิม รวมถึงสิทธิ์ READ_HEART_RATE สมัยใหม่ ดังนี้

    <uses-permission android:name="android.permission.BODY_SENSORS"
                     android:maxSdkVersion="35" />
    <uses-permission android:name="android.permission.health.READ_HEART_RATE" />
    
  2. หากแอปของคุณต้องใช้สิทธิ์เข้าถึงเซ็นเซอร์ร่างกายขณะทำงานอยู่เบื้องหลัง ให้เพิ่ม maxSdkVersion สำหรับสิทธิ์เดิมที่ทำงานอยู่เบื้องหลัง และเพิ่มสิทธิ์ READ_HEALTH_DATA_IN_BACKGROUND สมัยใหม่ ดังนี้

    <uses-permission android:name="android.permission.BODY_SENSORS_BACKGROUND"
                     android:maxSdkVersion="35" />
    <uses-permission android:name="android.permission.health.READ_HEALTH_DATA_IN_BACKGROUND" />
    
  3. ขอและยืนยันว่าสิทธิ์วัดอัตราการเต้นของหัวใจได้รับอนุญาตในทุกที่ที่แอปตรวจสอบสิทธิ์ BODY_SENSOR และ BODY_SENSORS_BACKGROUND โดยกรองตามเวอร์ชัน Wear OS เช่น

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.BAKLAVA) {
        this.add(HealthPermissions.READ_HEART_RATE)
    }