وقتی ویژگیهای جدیدی به Health Connect اضافه میشوند، ممکن است کاربران همیشه نسخه Health Connect خود را بهروزرسانی نکنند. API قابلیت دسترسی به ویژگیها راهی برای بررسی وجود یک ویژگی در Health Connect در دستگاه کاربر و تصمیمگیری در مورد انجام اقدامات لازم است.
شروع کنید
API مربوط به Feature Availability همان وابستگی را با 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 | دادههای تاریخی را بخوانید | خواندن دادههای قدیمیتر از ۳۰ روز |
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
}
برای مشاهدهی فهرستی از تمام feature flag های موجود، به صفحهی مرجع HealthConnectFeatures مراجعه کنید.
عدم وجود ویژگی را مدیریت کنید
اگر یک ویژگی در دستگاه کاربر موجود نباشد، ممکن است با یک بهروزرسانی فعال شود. اگر کاربر آخرین نسخه پشتیبانیشده را در دستگاه خود ندارد، میتوانید او را برای بهروزرسانی Health Connect راهنمایی کنید. با این حال، کاربرانی که از APK (در اندروید ۱۳ و پایینتر) استفاده میکنند، نمیتوانند از ویژگیهای ماژول سیستم که فقط در دستگاههای دارای اندروید ۱۴ یا بالاتر در دسترس هستند، استفاده کنند.
برای انواع دستگاههای توسعهیافته، اگر FEATURE_EXTENDED_DEVICE_TYPES در دستگاه کاربر موجود نباشد، آن مقادیر به صورت Device.TYPE_UNKNOWN در نظر گرفته میشوند. یک جایگزین معقول در منطق نوشتن و رابط کاربری خود ارائه دهید.