Frequently asked questions

Stay organized with collections Save and categorize content based on your preferences.

Q: Does Health Connect support Android phones without Google Play services installed?

A: No. Health Connect has certain compatibility requirements including that mobile devices have Android SDK version 28 (Pie) or higher with Google Play services installed.

Q: How does Health Connect compare with Google Fit?

A: The following table illustrates key architectural differences between the two APIs.

Health Connect Google Fit

Health Connect is device-centric. Data is stored on the user’s device instead of being associated with a specific Google account.

Google Account-Centric

Google Fit is account-centric. Data is stored on a server-side infrastructure. Its data model is entirely tied to specific Google accounts as opposed to the user’s device(s). This makes the server the source of truth in Google Fit.

Fine-Grained Permissions

Users have granular control over which applications have read and/or write access to each data type through Health Connect.

Health Connect benefits from a built-in, custom permissions mechanism. This allows us to centralize and refine the way permissions are managed and allocated.

Coarser (OAuth) Permissions

Google Fit’s permissions can be coarser and are based on OAuth. OAuth scopes may also cover a larger number of data types.

Minor Data Processing

Health Connect involves very little data processing and derivation, with some minor exceptions for data types like Basal Calories and Basal Metabolic Rate (BMR). Developers will therefore have access to more raw data with Health Connect.

Service-Specific Data Processing

Google Fit processes more data, turning some data types into others or merging them. Google Fit processes data for a specific service, rather than providing access to raw data as Health Connect does.

Q: Is Health Connect’s storage on-device and/or cloud based?

A: Health Connect provides on-device storage. Our goal is to create a system that puts users fully in control of their data, as well as which apps and services they share it with.

Q: Which mobile devices are able to connect to Health Connect?

A: Only mobile devices with Android SDK version 28 (Pie) or higher are able to connect to Health Connect. These devices must also have Google Play services installed.

Q: Does a Java SDK exist on Jetpack? Will this eventually be added?

A: The Health Connect SDK is only in Kotlin. We do not have immediate plans to add a Java SDK to the Jetpack library. However, we may eventually support both programming languages depending on developer feedback.

Q: What is the range of historical data Health Connect can read or write?

A: Health Connect allows your app to read records with a time or startTime up to 30 days before your app's first successful permission request. If your app is uninstalled and then re-installed, this date is reset.

There are no restrictions on the data you share with Health Connect, however you should avoid writing large amounts of historical data at this time. Similarly, you shouldn't write data associated with future events such as a predicted MenstruationPeriodRecord.

Q: Who should I contact if I need help integrating with Health Connect?

A: Please contact if you have any technical questions, issues, or concerns about integrating with Health Connect. Our support specialists work hard to respond to developer questions as quickly and comprehensively as possible. In the meantime, please remember to consult the Health Connect documentation for any guidance you may need.

Q: How do I request access to read/write data types?

A: For read and/or write access to Health Connect data types, please submit an access request using this developer declaration form. Keep the following in mind when completing the form:

  • If your app does not require access to specific data types, then you must not request access to these data types.

  • When documenting the purpose for your access request, be as detailed as possible in your app description.

  • Request the minimum data types needed and provide a valid use case for each request.