وقتی ویژگیهای جدیدی به 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")
}
پرچم های ویژه
پرچمهای ویژگی موجود برای Health Connect در جدول زیر فهرست شدهاند. اگر دستگاه کاربر از این ویژگی پشتیبانی نکند، عملکرد پشت پرچم ویژگی برای استفاده در دسترس نخواهد بود.
پرچم ویژگی | نوع داده | راهنماهای مرتبط |
---|---|---|
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 (در اندروید 13 و پایینتر) استفاده میکنند، نمیتوانند از ویژگیهای ماژول سیستمی که فقط در دستگاههای دارای Android نسخه 14 یا بالاتر در دسترس هستند استفاده کنند.
برای انواع دستگاههای توسعهیافته، اگر FEATURE_EXTENDED_DEVICE_TYPES
در دستگاه کاربر در دسترس نباشد، آن مقادیر بهعنوان Device.TYPE_UNKNOWN
تلقی میشوند.TYPE_UNKNOWN. یک بازگشت معقول در منطق نوشتن و رابط کاربری خود ارائه دهید.