כשמוסיפים תכונות חדשות ל-Health Connect, המשתמשים לא תמיד מעדכנים את הגרסה של Health Connect. Feature Availability API מאפשר לבדוק אם תכונה מסוימת ב-Health Connect זמינה במכשיר של המשתמש, ולקבוע איזו פעולה לבצע.
שנתחיל?
Feature Availability API חולק את אותה תלות כמו Health Connect SDK. כדי להתחיל, מוודאים שלפחות גרסה 1.1.0-alpha08 מופיעה בקובץ build.gradle:
dependencies {
implementation("androidx.health.connect:connect-client:1.1.0-alpha08")
}
מתגי feature flag
בטבלה הבאה מפורטים דגלי התכונות שזמינים ב-Health Connect. אם המכשיר של המשתמש לא תומך בתכונה מסוימת, הוא לא יוכל להשתמש בפונקציונליות שמוסתרת מאחורי דגל התכונה.
| מתג feature flag | סוג נתונים | מדריכים קשורים |
|---|---|---|
FEATURE_ACTIVITY_INTENSITY |
עצימות הפעילות |
אימונים |
FEATURE_EXTENDED_DEVICE_TYPES |
סוגי מכשירים מורחבים |
הדרישות לגבי מטא-נתונים |
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:
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. צריך לספק חלופה הגיונית בלוגיקה של הכתיבה ושל ממשק המשתמש.