Health Permission Status
Represents the inferred read-permission status for health data tracking.
On iOS / watchOS (HealthKit), Apple deliberately does not expose whether the user granted or denied individual read permissions — a denied read is indistinguishable from "granted but no data exists". The status is therefore inferred: if the authorization dialog has not been shown → NOT_DETERMINED; if a step-data probe over the last 30 days returns data → LIKELY_GRANTED; if it was shown but no data is found → the result is genuinely unknowable and reported as INCONCLUSIVE. HealthKit reads never report LIKELY_DENIED — the platform can't tell you that.
Recommended consumer flow on iOS: don't gate features on this status. Call requestPermissions() (it only prompts once), then attempt the read. Treat INCONCLUSIVE as "can't confirm" — surface a non-blocking hint that directs the user to Settings → Privacy → Health (re-prompting does nothing once the sheet has been shown), rather than blocking. A truly-denied user simply syncs no data.
On Android (Health Connect), permissions are checked directly via the granted-permissions set, so grant/deny is authoritative. The mapping is:
All required permissions granted → LIKELY_GRANTED
Some missing → LIKELY_DENIED
Health Connect not available → UNAVAILABLE
Never requested → NOT_DETERMINED
Entries
The permission dialog has not yet been shown to the user.
Permission is effectively granted — health data is accessible.
Permission was likely denied — health data is not accessible.
The authorization dialog has been shown, but the SDK cannot confirm read access because no health data was found in the probe window. iOS / watchOS (HealthKit) only, and genuinely ambiguous — it covers both an actual denial and a permissioned user with no recent data (new device, no history, watch-only). Don't treat it as denied: direct the user to Settings if they expected data to sync, and otherwise proceed.
The health platform is not available on this device.
Properties
Functions
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
Returns an array containing the constants of this enum type, in the order they're declared.