Setup Android Project

Follow these steps to setup your Android project for compatibility with the Sahha SDK.


Minimum Requirements

To use the Sahha SDK, your Android project must support:


Step 1) Edit your AndroidManifest

In order to access your user's device sensors, you will need to include the correct uses-permission values in your project's AndroidManifest.xml.

Choose your framework to follow the correct steps:

Step 1) Find the project's AndroidManifest.xml file. This is located in the project's app/src/main folder.

Step 2) Within the file, declare the permissions between the manifest and application code.

Step 3) Here is an example declaring Heart and Activity permissions. Make sure to save the file!


Step 2) Review Sensor Permissions

Each sensor has an associated user-permission values. Only include the sensor values required by your project. You can see the full list below.

<!-- AndroidManifest.xml -->
<!-- heart_rate -->
<uses-permission android:name="android.permission.health.READ_HEART_RATE" />
<!-- heart_rate_variability_rmssd -->
<uses-permission android:name="android.permission.health.READ_HEART_RATE_VARIABILITY" />
<!-- resting_heart_rate -->
<uses-permission android:name="android.permission.health.READ_RESTING_HEART_RATE" />
<!-- blood_glucose -->
<uses-permission android:name="android.permission.health.READ_BLOOD_GLUCOSE" />
<!-- blood_pressure_systolic -->
<!-- blood_pressure_diastolic -->
<uses-permission android:name="android.permission.health.READ_BLOOD_PRESSURE" />
<!-- sleep -->
<uses-permission android:name="android.permission.health.READ_SLEEP" />
<!-- steps -->
<uses-permission android:name="android.permission.health.READ_STEPS" />
<!-- floors_climbed -->
<uses-permission android:name="android.permission.health.READ_FLOORS_CLIMBED" />
<!-- vo2_max -->
<uses-permission android:name="android.permission.health.READ_VO2_MAX" />
<!-- oxygen_saturation -->
<uses-permission android:name="android.permission.health.READ_OXYGEN_SATURATION" />
<!-- respiratory_rate -->
<uses-permission android:name="android.permission.health.READ_RESPIRATORY_RATE" />
<!-- basal_metabolic_rate -->
<uses-permission android:name="android.permission.health.READ_BASAL_METABOLIC_RATE" />
<!-- active_energy_burned -->
<uses-permission android:name="android.permission.health.READ_ACTIVE_CALORIES_BURNED" />
<!-- total_energy_burned -->
<uses-permission android:name="android.permission.health.READ_TOTAL_CALORIES_BURNED" />
<!-- body_fat -->
<uses-permission android:name="android.permission.health.READ_BODY_FAT" />
<!-- body_water_mass -->
<uses-permission android:name="android.permission.health.READ_BODY_WATER_MASS" />
<!-- lean_body_mass -->
<uses-permission android:name="android.permission.health.READ_LEAN_BODY_MASS" />
<!-- bone_mass -->
<uses-permission android:name="android.permission.health.READ_BONE_MASS" />
<!-- height -->
<uses-permission android:name="android.permission.health.READ_HEIGHT" />
<!-- weight -->
<uses-permission android:name="android.permission.health.READ_WEIGHT" />
<!-- body_temperature -->
<uses-permission android:name="android.permission.health.READ_BODY_TEMPERATURE" />
<!-- basal_body_temperature -->
<uses-permission android:name="android.permission.health.READ_BASAL_BODY_TEMPERATURE" />
<!-- exercise -->
<uses-permission android:name="android.permission.health.READ_EXERCISE" />

Device Sensor

Please note SahhaSensor.device_lock does not require any AndroidManifest.xml permission declarations.


Step 3) Specify your Sensors

Specifying Sensors for Android

For every sensor you specify in getSensorStatus or enableSensors, you will need to include matching uses-permission values in your AndroidManifest.xml.

View the SDK Sensors documentation .

If the values do not match, you are likely to receive build errors and risk your app being rejected on the Google Play Store!

For example, if your project requires the steps and sleep sensors, then included the following uses-permission values:

<!-- AndroidManifest.xml -->
<manifest ... >
<!-- steps -->
<uses-permission android:name="android.permission.health.READ_STEPS" />
<!-- sleep -->
<uses-permission android:name="android.permission.health.READ_SLEEP" />
<application ... >
...
<application ... />
<manifest ... />

Step 4) Native Steps and Sleep

Specifying Sensors for Android

To accurately track native steps and sleep, you MUST include the WRITE_STEPS and WRITE_SLEEP permissions. This allows the SDK to persist these values into Health Connect for synchronisation.

View the SDK Sensors documentation .

<!-- AndroidManifest.xml -->
<manifest ... >
<!-- steps -->
<uses-permission android:name="android.permission.health.WRITE_STEPS" />
<!-- sleep -->
<uses-permission android:name="android.permission.health.WRITE_SLEEP" />
<application ... >
...
<application ... />
<manifest ... />

Next Steps

Continue to Step 2.) Install SDK to install the Sahha SDK for Android.

Previous
iOS