הצהרה על ההרשאות המתאימות

שירותי Health ב-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. בקובץ המניפסט, מוסיפים את 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)
    }