כשמוסיפים תכונות חדשות ל-Health Connect, יכול להיות שהמשתמשים לא תמיד מעדכנים את הגרסה שלהם של Health Connect. ה-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")
}
ביצוע הבדיקה
הפונקציה העיקרית לבדיקת הזמינות של התכונות היא 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
. צריך לספק חלופה הגיונית בלוגיקה של הכתיבה ובממשק המשתמש.