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

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

جدول: پرچم‌های در دسترس بودن ویژگی 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 را برمی گرداند:

برای تعیین اینکه آیا دستگاه کاربر از Read Health Data in Background on 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
}

برای لیستی از همه پرچم‌های ویژگی موجود، به صفحه مرجع HealthConnectFeatures مراجعه کنید.

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

اگر یک ویژگی در دستگاه کاربر در دسترس نباشد، ممکن است به‌روزرسانی آن را فعال کند. اگر کاربر آخرین نسخه پشتیبانی شده را در دستگاه خود ندارد، می‌توانید به کاربر دستور دهید Health Connect را به‌روزرسانی کند. با این حال، کاربرانی که از APK (در اندروید 13 و پایین‌تر) استفاده می‌کنند، نمی‌توانند از ویژگی‌های ماژول سیستمی که فقط در دستگاه‌های دارای Android نسخه 14 یا بالاتر در دسترس هستند استفاده کنند.

برای انواع دستگاه‌های توسعه‌یافته، اگر FEATURE_EXTENDED_DEVICE_TYPES در دستگاه کاربر در دسترس نباشد، آن مقادیر به‌عنوان Device.TYPE_UNKNOWN تلقی می‌شوند.TYPE_UNKNOWN. یک بازگشت معقول در منطق نوشتن و رابط کاربری خود ارائه دهید.