عند إضافة ميزات جديدة إلى Health Connect، قد لا يحدّث المستخدمون دائمًا إصدار Health Connect. تتيح واجهة برمجة التطبيقات Feature Availability API التحقّق مما إذا كانت إحدى ميزات Health Connect متاحة على جهاز المستخدم وتحديد الإجراء الذي يجب اتّخاذه.
البدء
تتشارك واجهة برمجة التطبيقات Feature Availability API التبعية نفسها مع حزمة تطوير البرامج (SDK) الخاصة بتطبيق Health Connect. للبدء، تأكَّد من أنّ الإصدار 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 (على الإصدار 13 من نظام التشغيل Android والإصدارات الأقدم) الاستفادة من ميزات وحدة النظام المتوفّرة فقط على الأجهزة التي تعمل بالإصدار 14 من نظام التشغيل Android أو الإصدارات الأحدث.
بالنسبة إلى أنواع الأجهزة الموسّعة، إذا لم تكن القيمة FEATURE_EXTENDED_DEVICE_TYPES
متاحة على جهاز المستخدم، سيتم التعامل مع هذه القيم على أنّها Device.TYPE_UNKNOWN
. توفير قيمة احتياطية منطقية في منطق الكتابة وواجهة المستخدم