وقتی ویژگیهای جدیدی به Health Connect اضافه میشود، ممکن است کاربران همیشه نسخه Health Connect خود را بهروز نکنند. «میانای برنامهسازی کاربردی دردسترس بودن ویژگی» روشی برای بررسی این است که آیا ویژگیای در Health Connect در دستگاه کاربر دردسترس است یا نه و تصمیمگیری درباره اینکه چه اقدامی باید انجام شود.
شروع کنید
Feature Availability API وابستگی یکسانی با Health Connect SDK دارد. برای شروع، بررسی کنید که حداقل نسخه 1.1.0-alpha08 در فایل
build.gradle شما وجود داشته باشد:
dependencies {
implementation("androidx.health.connect:connect-client:1.2.0-alpha06")
}
پرچمهای ویژه
پرچمهای ویژگی دردسترس برای Health Connect در جدول زیر فهرست شدهاند. اگر دستگاه کاربر از ویژگی پشتیبانی نکند، عملکرد پشت پرچم ویژگی برای استفاده دردسترس نخواهد بود.
| پرچم ویژگی | نوع داده | راهنماهای مرتبط |
|---|---|---|
FEATURE_ACTIVITY_INTENSITY |
شدت فعالیت |
تمرینات |
FEATURE_EXTENDED_DEVICE_TYPES |
انواع دستگاههای گسترشیافته |
الزامات فراداده |
FEATURE_MATCHMAKING |
یافتن حریف | |
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
}
برای مشاهده فهرست همه پرچمهای ویژگی دردسترس، به صفحه مرجع HealthConnectFeatures مراجعه کنید.
مدیریت کردن عدم دسترسی به ویژگی
اگر ویژگیای در دستگاه کاربر دردسترس نباشد، ممکن است بهروزرسانی آن را فعال کند. اگر کاربر جدیدترین نسخه پشتیبانیشده را در دستگاهش ندارد، میتوانید او را راهنمایی کنید Health Connect را بهروز کند. بااینحال، کاربرانی که از APK استفاده میکنند (در Android 13 و پایینتر) نمیتوانند از ویژگیهای ماژول سیستم که فقط در دستگاههای دارای Android 14 یا بالاتر دردسترس است استفاده کنند.
برای انواع دستگاههای گسترشیافته، اگر FEATURE_EXTENDED_DEVICE_TYPES در دستگاه کاربر دردسترس نباشد، آن مقادیر بهعنوان Device.TYPE_UNKNOWN درنظر گرفته میشوند. در منطق نوشتن و میانای کاربر خود، یک جایگزین منطقی ارائه دهید.