# LifecycleKt

Added in 2.6.0

*** ** * ** ***


```
public final class LifecycleKt
```

<br />

*** ** * ** ***

## Summary

| ### Public methods |
|---|---|
| `static final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/lifecycle/LifecycleObserver` | `https://developer.android.com/reference/androidx/lifecycle/LifecycleKt#(androidx.lifecycle.Lifecycle).addObserver(kotlin.Function3)( @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/lifecycle/Lifecycle receiver, @https://developer.android.com/reference/androidx/annotation/NonNull Function3<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/lifecycle/LifecycleObserver, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/lifecycle/LifecycleOwner, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/lifecycle/Lifecycle.Event, https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html> action )` Adds a `https://developer.android.com/reference/androidx/lifecycle/LifecycleObserver` to this `https://developer.android.com/reference/androidx/lifecycle/Lifecycle` using the provided `https://developer.android.com/reference/androidx/lifecycle/package-summary#(androidx.lifecycle.Lifecycle).addObserver(kotlin.Function3)`. |
| `static final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/lifecycle/LifecycleCoroutineScope` | `https://developer.android.com/reference/androidx/lifecycle/LifecycleKt#(androidx.lifecycle.Lifecycle).getCoroutineScope()(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/lifecycle/Lifecycle receiver)` `https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines/-coroutine-scope/index.html` tied to this `https://developer.android.com/reference/androidx/lifecycle/Lifecycle`. |
| `static final @https://developer.android.com/reference/androidx/annotation/NonNull https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.flow/-flow/index.html<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/lifecycle/Lifecycle.Event>` | `https://developer.android.com/reference/androidx/lifecycle/LifecycleKt#(androidx.lifecycle.Lifecycle).getEventFlow()(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/lifecycle/Lifecycle receiver)` Creates a `https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.flow/-flow/index.html` of `https://developer.android.com/reference/androidx/lifecycle/Lifecycle.Event`s dispatched by this `https://developer.android.com/reference/androidx/lifecycle/Lifecycle`. |

## Public methods

### addObserver

Artifact: [androidx.lifecycle:lifecycle-common](https://developer.android.com/jetpack/androidx/releases/lifecycle) [View Source](https://cs.android.com/search?q=file:androidx/lifecycle/Lifecycle.kt+function:addObserver) Added in [2.11.0](https://developer.android.com/jetpack/androidx/releases/lifecycle#2.11.0)

```
public static final @NonNull LifecycleObserver addObserver(
    @NonNull Lifecycle receiver,
    @NonNull Function3<@NonNull LifecycleObserver, @NonNull LifecycleOwner, @NonNull Lifecycle.Event, Unit> action
)
```

Adds a `https://developer.android.com/reference/androidx/lifecycle/LifecycleObserver` to this `https://developer.android.com/reference/androidx/lifecycle/Lifecycle` using the provided `https://developer.android.com/reference/androidx/lifecycle/package-summary#(androidx.lifecycle.Lifecycle).addObserver(kotlin.Function3)`.

Invokes `https://developer.android.com/reference/androidx/lifecycle/package-summary#(androidx.lifecycle.Lifecycle).addObserver(kotlin.Function3)` whenever a `https://developer.android.com/reference/androidx/lifecycle/Lifecycle.Event` occurs.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull Function3<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/lifecycle/LifecycleObserver, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/lifecycle/LifecycleOwner, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/lifecycle/Lifecycle.Event, https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html> action` | The action invoked on each `https://developer.android.com/reference/androidx/lifecycle/Lifecycle.Event`, providing the `https://developer.android.com/reference/androidx/lifecycle/LifecycleOwner` and the specific `https://developer.android.com/reference/androidx/lifecycle/Lifecycle.Event`. |

| Returns |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/lifecycle/LifecycleObserver` | the added `https://developer.android.com/reference/androidx/lifecycle/LifecycleObserver` instance (can be used to later remove it). |

### getCoroutineScope

Artifact: [androidx.lifecycle:lifecycle-common](https://developer.android.com/jetpack/androidx/releases/lifecycle) [View Source](https://cs.android.com/search?q=file:androidx/lifecycle/Lifecycle.kt+symbol:coroutineScope) Added in [2.6.0](https://developer.android.com/jetpack/androidx/releases/lifecycle#2.6.0)

```
public static final @NonNull LifecycleCoroutineScope getCoroutineScope(@NonNull Lifecycle receiver)
```

`https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines/-coroutine-scope/index.html` tied to this `https://developer.android.com/reference/androidx/lifecycle/Lifecycle`.

Canceled when the `https://developer.android.com/reference/androidx/lifecycle/Lifecycle` is destroyed. Bound to `Dispatchers.Main.immediate`.

### getEventFlow

Artifact: [androidx.lifecycle:lifecycle-common](https://developer.android.com/jetpack/androidx/releases/lifecycle) [View Source](https://cs.android.com/search?q=file:androidx/lifecycle/Lifecycle.kt+symbol:eventFlow) Added in [2.7.0](https://developer.android.com/jetpack/androidx/releases/lifecycle#2.7.0)

```
public static final @NonNull Flow<@NonNull Lifecycle.Event> getEventFlow(@NonNull Lifecycle receiver)
```

Creates a `https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.flow/-flow/index.html` of `https://developer.android.com/reference/androidx/lifecycle/Lifecycle.Event`s dispatched by this `https://developer.android.com/reference/androidx/lifecycle/Lifecycle`.