HealthConnectManager

class HealthConnectManager(context: Context) : HealthManager

Constructors

Link copied to clipboard
constructor(context: Context)

Functions

Link copied to clipboard
open suspend override fun enableBackgroundDelivery(types: List<HealthDataType>, frequency: HealthUpdateFrequency = HealthUpdateFrequency.Immediate): Result<Unit>

Enable background delivery for the specified types. On iOS, this calls HKHealthStore.enableBackgroundDeliveryForType.

Link copied to clipboard
open override fun getDataType(datatype: Number): HealthDataType
Link copied to clipboard
open suspend override fun isAuthorized(readTypes: List<HealthDataType>, writeTypes: List<HealthDataType>): Result<Boolean>
Link copied to clipboard
open override fun isAvailable(): Result<Boolean>
Link copied to clipboard
open suspend override fun isBackgroundDeliveryActive(): Result<Boolean>

Check if background delivery for health data is active.

Link copied to clipboard
open suspend override fun isHistoryDataPermissionGranted(): Boolean
Link copied to clipboard
open suspend override fun isRevokeAuthorizationSupported(): Result<Boolean>
Link copied to clipboard
open suspend override fun isStoragePermissionGranted(): Boolean
Link copied to clipboard
open override fun observeUpdates(types: List<HealthDataType>, callback: (HealthDataType) -> Unit): Result<Unit>

Observe updates for the specified types. On iOS, this sets up an HKObserverQuery. The callback is invoked when new data is available. The callback should trigger a data read and sync.

Link copied to clipboard
open suspend override fun openSettings(): Result<Boolean>
Link copied to clipboard
open suspend override fun readData(startTime: Instant, endTime: Instant, type: HealthDataType): Result<List<HealthRecord>>
Link copied to clipboard
open suspend override fun requestAuthorization(readTypes: List<HealthDataType>, writeTypes: List<HealthDataType>): Result<Boolean>
Link copied to clipboard
open suspend override fun revokeAuthorization(): Result<Unit>
Link copied to clipboard
open suspend override fun writeData(records: List<HealthRecord>): Result<Unit>

Inserts one or more HealthRecord. Insertion of multiple records is executed in a transaction - if one fails, none is inserted.