# HealthPermissionsRequestContract

Artifact: [androidx.health.connect:connect-client](https://developer.android.com/jetpack/androidx/releases/health-connect) [View Source](https://cs.android.com/search?q=file:androidx/health/connect/client/contracts/HealthPermissionsRequestContract.kt+class:androidx.health.connect.client.contracts.HealthPermissionsRequestContract) Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/health-connect#1.1.0)

*** ** * ** ***


```
class HealthPermissionsRequestContract : ActivityResultContract<Set<String>, Set<String>>
```

<br />

|---|---|---|
| [kotlin.Any](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html) |||
| ↳ | [androidx.activity.result.contract.ActivityResultContract](https://developer.android.com/reference/kotlin/androidx/activity/result/contract/ActivityResultContract)\<[Set](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-set/index.html)\<[String](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html)\>, [Set](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-set/index.html)\<[String](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html)\>\> ||
|   | ↳ | [androidx.health.connect.client.contracts.HealthPermissionsRequestContract](https://developer.android.com/reference/kotlin/androidx/health/connect/client/contracts/HealthPermissionsRequestContract) |

*** ** * ** ***

An `https://developer.android.com/reference/kotlin/androidx/activity/result/contract/ActivityResultContract` to request Health permissions.

It receives a set of permissions as input and returns a set with the granted permissions as output.

## Summary

| ### Public constructors |
|---|
| `https://developer.android.com/reference/kotlin/androidx/health/connect/client/contracts/HealthPermissionsRequestContract#HealthPermissionsRequestContract(kotlin.String)(providerPackageName: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html)` |

| ### Public functions |
|---|---|
| `open https://developer.android.com/reference/android/content/Intent.html` | `https://developer.android.com/reference/kotlin/androidx/health/connect/client/contracts/HealthPermissionsRequestContract#createIntent(android.content.Context,kotlin.collections.Set)(context: https://developer.android.com/reference/android/content/Context.html, input: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-set/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html>)` Creates an intent to request HealthConnect permissions. |
| `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-set/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html>` | `https://developer.android.com/reference/kotlin/androidx/health/connect/client/contracts/HealthPermissionsRequestContract#parseResult(kotlin.Int,android.content.Intent)(resultCode: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, intent: https://developer.android.com/reference/android/content/Intent.html?)` Converts the activity result into a `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-set/index.html` of granted permissions. |

### Inherited functions

From [androidx.activity.result.contract.ActivityResultContract](https://developer.android.com/reference/kotlin/androidx/activity/result/contract/ActivityResultContract) `open https://developer.android.com/reference/kotlin/androidx/activity/result/contract/ActivityResultContract.SynchronousResult<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-set/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html>>?` `https://developer.android.com/reference/kotlin/androidx/activity/result/contract/ActivityResultContract#getSynchronousResult(android.content.Context,kotlin.Any)(context: https://developer.android.com/reference/android/content/Context.html, input: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-set/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html>)`

An optional method you can implement that can be used to potentially provide a result in lieu of starting an activity.

## Public constructors

### HealthPermissionsRequestContract

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/health-connect#1.1.0)

```
HealthPermissionsRequestContract(
    providerPackageName: String = DEFAULT_PROVIDER_PACKAGE_NAME
)
```

## Public functions

### createIntent

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/health-connect#1.1.0)

```
open fun createIntent(context: Context, input: Set<String>): Intent
```

Creates an intent to request HealthConnect permissions. It receives as `https://developer.android.com/reference/kotlin/androidx/health/connect/client/contracts/HealthPermissionsRequestContract#createIntent(android.content.Context,kotlin.collections.Set)` a `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-set/index.html` of HealthConnect permissions.

| Parameters |
|---|---|
| `context: https://developer.android.com/reference/android/content/Context.html` | the context |
| `input: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-set/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html>` | the health permission strings to request permissions for |

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/activity/result/contract/ActivityResultContract#createIntent(android.content.Context,kotlin.Any)` |   |

### parseResult

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/health-connect#1.1.0)

```
open fun parseResult(resultCode: Int, intent: Intent?): Set<String>
```

Converts the activity result into a `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-set/index.html` of granted permissions. This will be a subset of `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-set/index.html` passed in `https://developer.android.com/reference/kotlin/androidx/health/connect/client/contracts/HealthPermissionsRequestContract#createIntent(android.content.Context,kotlin.collections.Set)`.

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/activity/result/contract/ActivityResultContract#parseResult(kotlin.Int,android.content.Intent)` |   |