機能の提供状況を確認する

ヘルスコネクトに新機能が追加されても、ユーザーがヘルスコネクトのバージョンを更新するとは限りません。Feature Availability API は、ヘルスコネクトの機能がユーザーのデバイスで利用可能かどうかを確認し、どのようなアクションを実行するかを決定する方法です。

始める

Feature Availability API は、Health Connect SDK と同じ依存関係を共有します。まず、build.gradle ファイルにバージョン 1.1.0-alpha08 以降が含まれていることを確認します。

dependencies {
  implementation("androidx.health.connect:connect-client:1.1.0-alpha08")
}

チェックを実行する

機能の利用可能性をチェックする主な関数は 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 リファレンス ページをご覧ください。

機能が利用できない場合の処理

ユーザーのデバイスで機能が利用できない場合、アップデートによって利用できるようになることがあります。デバイスにサポートされている最新バージョンがインストールされていない場合は、ヘルスコネクトを更新するようユーザーに案内することを検討してください。ただし、APK(Android 13 以前)を使用しているユーザーは、Android 14 以降を搭載したデバイスでのみ利用可能なシステム モジュール機能を使用できません。

拡張デバイスタイプの場合、ユーザーのデバイスで FEATURE_EXTENDED_DEVICE_TYPES が利用できない場合、これらの値は Device.TYPE_UNKNOWN として扱われます。書き込みロジックと UI ロジックで適切なフォールバックを提供します。