در دسترس بودن ویژگی را بررسی کنید

وقتی ویژگی‌های جدیدی به 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 قابل استفاده نخواهد بود.

جدول: پرچم‌های در دسترس بودن ویژگی 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 داده‌های تاریخی را بخوانید خواندن داده‌های قدیمی‌تر از ۳۰ روز
FEATURE_SKIN_TEMPERATURE دمای پوست علائم حیاتی
اندازه‌گیری دمای پوست

چک را انجام دهید

تابع اصلی برای بررسی در دسترس بودن ویژگی، getFeatureStatus() است. این تابع، ثابت‌های صحیح FEATURE_STATUS_AVAILABLE یا FEATURE_STATUS_UNAVAILABLE را برمی‌گرداند:

برای تعیین اینکه آیا دستگاه کاربر از قابلیت خواندن داده‌های سلامت در پس‌زمینه در Health Connect پشتیبانی می‌کند یا خیر، در دسترس بودن 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 در نظر گرفته می‌شوند. یک جایگزین معقول در منطق نوشتن و رابط کاربری خود ارائه دهید.