# ActivityResultCallerKt

Added in 1.9.0

*** ** * ** ***


```
public final class ActivityResultCallerKt
```

<br />

*** ** * ** ***

## Summary

| ### Public methods |
|---|---|
| `static final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/activity/result/ActivityResultLauncher<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html>` | `<I extends https://developer.android.com/reference/java/lang/Object.html, O extends https://developer.android.com/reference/java/lang/Object.html> https://developer.android.com/reference/androidx/activity/result/ActivityResultCallerKt#(androidx.activity.result.ActivityResultCaller).registerForActivityResult(androidx.activity.result.contract.ActivityResultContract,kotlin.Any,kotlin.Function1)( @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/activity/result/ActivityResultCaller receiver, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/activity/result/contract/ActivityResultContract<@https://developer.android.com/reference/androidx/annotation/NonNull I, @https://developer.android.com/reference/androidx/annotation/NonNull O> contract, @https://developer.android.com/reference/androidx/annotation/NonNull I input, @https://developer.android.com/reference/androidx/annotation/NonNull Function1<@https://developer.android.com/reference/androidx/annotation/NonNull O, https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html> callback )` A version of `https://developer.android.com/reference/androidx/activity/result/ActivityResultCaller#registerForActivityResult(androidx.activity.result.contract.ActivityResultContract,androidx.activity.result.ActivityResultCallback)` that additionally takes an input right away, producing a launcher that doesn't take any additional input when called. |
| `static final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/activity/result/ActivityResultLauncher<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html>` | `<I extends https://developer.android.com/reference/java/lang/Object.html, O extends https://developer.android.com/reference/java/lang/Object.html> https://developer.android.com/reference/androidx/activity/result/ActivityResultCallerKt#(androidx.activity.result.ActivityResultCaller).registerForActivityResult(androidx.activity.result.contract.ActivityResultContract,kotlin.Any,androidx.activity.result.ActivityResultRegistry,kotlin.Function1)( @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/activity/result/ActivityResultCaller receiver, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/activity/result/contract/ActivityResultContract<@https://developer.android.com/reference/androidx/annotation/NonNull I, @https://developer.android.com/reference/androidx/annotation/NonNull O> contract, @https://developer.android.com/reference/androidx/annotation/NonNull I input, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/activity/result/ActivityResultRegistry registry, @https://developer.android.com/reference/androidx/annotation/NonNull Function1<@https://developer.android.com/reference/androidx/annotation/NonNull O, https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html> callback )` A version of `https://developer.android.com/reference/androidx/activity/result/ActivityResultCaller#registerForActivityResult(androidx.activity.result.contract.ActivityResultContract,androidx.activity.result.ActivityResultCallback)` that additionally takes an input right away, producing a launcher that doesn't take any additional input when called. |

## Public methods

### registerForActivityResult

Artifact: [androidx.activity:activity](https://developer.android.com/jetpack/androidx/releases/activity) [View Source](https://cs.android.com/search?q=file:androidx/activity/result/ActivityResultCaller.kt+function:registerForActivityResult)

```
public static final @NonNull ActivityResultLauncher<Unit> <I extends Object, O extends Object> registerForActivityResult(
    @NonNull ActivityResultCaller receiver,
    @NonNull ActivityResultContract<@NonNull I, @NonNull O> contract,
    @NonNull I input,
    @NonNull Function1<@NonNull O, Unit> callback
)
```

A version of `https://developer.android.com/reference/androidx/activity/result/ActivityResultCaller#registerForActivityResult(androidx.activity.result.contract.ActivityResultContract,androidx.activity.result.ActivityResultCallback)` that additionally takes an input right away, producing a launcher that doesn't take any additional input when called.

| See also |
|---|---|
| `https://developer.android.com/reference/androidx/activity/result/ActivityResultCaller#registerForActivityResult(androidx.activity.result.contract.ActivityResultContract,androidx.activity.result.ActivityResultCallback)` |   |

### registerForActivityResult

Artifact: [androidx.activity:activity](https://developer.android.com/jetpack/androidx/releases/activity) [View Source](https://cs.android.com/search?q=file:androidx/activity/result/ActivityResultCaller.kt+function:registerForActivityResult)

```
public static final @NonNull ActivityResultLauncher<Unit> <I extends Object, O extends Object> registerForActivityResult(
    @NonNull ActivityResultCaller receiver,
    @NonNull ActivityResultContract<@NonNull I, @NonNull O> contract,
    @NonNull I input,
    @NonNull ActivityResultRegistry registry,
    @NonNull Function1<@NonNull O, Unit> callback
)
```

A version of `https://developer.android.com/reference/androidx/activity/result/ActivityResultCaller#registerForActivityResult(androidx.activity.result.contract.ActivityResultContract,androidx.activity.result.ActivityResultCallback)` that additionally takes an input right away, producing a launcher that doesn't take any additional input when called.

| See also |
|---|---|
| `https://developer.android.com/reference/androidx/activity/result/ActivityResultCaller#registerForActivityResult(androidx.activity.result.contract.ActivityResultContract,androidx.activity.result.ActivityResultCallback)` |   |