# WithLifecycleStateKt

Added in 2.8.0

*** ** * ** ***


```
public final class WithLifecycleStateKt
```

<br />

*** ** * ** ***

## Summary

| ### Public methods |
|---|---|
| `static final @https://developer.android.com/reference/androidx/annotation/NonNull R` | `<R extends https://developer.android.com/reference/java/lang/Object.html> https://developer.android.com/reference/androidx/lifecycle/WithLifecycleStateKt#(androidx.lifecycle.Lifecycle).withCreated(kotlin.Function0)( @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 Function0<@https://developer.android.com/reference/androidx/annotation/NonNull R> block )` Run `https://developer.android.com/reference/androidx/lifecycle/package-summary#(androidx.lifecycle.Lifecycle).withCreated(kotlin.Function0)` with this `https://developer.android.com/reference/androidx/lifecycle/Lifecycle` in a `https://developer.android.com/reference/androidx/lifecycle/Lifecycle.State` of at least `https://developer.android.com/reference/androidx/lifecycle/Lifecycle.State#CREATED` and resume with the result. |
| `static final @https://developer.android.com/reference/androidx/annotation/NonNull R` | `<R extends https://developer.android.com/reference/java/lang/Object.html> https://developer.android.com/reference/androidx/lifecycle/WithLifecycleStateKt#(androidx.lifecycle.LifecycleOwner).withCreated(kotlin.Function0)( @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/lifecycle/LifecycleOwner receiver, @https://developer.android.com/reference/androidx/annotation/NonNull Function0<@https://developer.android.com/reference/androidx/annotation/NonNull R> block )` Run `https://developer.android.com/reference/androidx/lifecycle/package-summary#(androidx.lifecycle.LifecycleOwner).withCreated(kotlin.Function0)` with this `https://developer.android.com/reference/androidx/lifecycle/LifecycleOwner`'s `https://developer.android.com/reference/androidx/lifecycle/Lifecycle` in a `https://developer.android.com/reference/androidx/lifecycle/Lifecycle.State` of at least `https://developer.android.com/reference/androidx/lifecycle/Lifecycle.State#CREATED` and resume with the result. |
| `static final @https://developer.android.com/reference/androidx/annotation/NonNull R` | `<R extends https://developer.android.com/reference/java/lang/Object.html> https://developer.android.com/reference/androidx/lifecycle/WithLifecycleStateKt#(androidx.lifecycle.Lifecycle).withResumed(kotlin.Function0)( @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 Function0<@https://developer.android.com/reference/androidx/annotation/NonNull R> block )` Run `https://developer.android.com/reference/androidx/lifecycle/package-summary#(androidx.lifecycle.Lifecycle).withResumed(kotlin.Function0)` with this `https://developer.android.com/reference/androidx/lifecycle/Lifecycle` in a `https://developer.android.com/reference/androidx/lifecycle/Lifecycle.State` of at least `https://developer.android.com/reference/androidx/lifecycle/Lifecycle.State#RESUMED` and resume with the result. |
| `static final @https://developer.android.com/reference/androidx/annotation/NonNull R` | `<R extends https://developer.android.com/reference/java/lang/Object.html> https://developer.android.com/reference/androidx/lifecycle/WithLifecycleStateKt#(androidx.lifecycle.LifecycleOwner).withResumed(kotlin.Function0)( @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/lifecycle/LifecycleOwner receiver, @https://developer.android.com/reference/androidx/annotation/NonNull Function0<@https://developer.android.com/reference/androidx/annotation/NonNull R> block )` Run `https://developer.android.com/reference/androidx/lifecycle/package-summary#(androidx.lifecycle.LifecycleOwner).withResumed(kotlin.Function0)` with this `https://developer.android.com/reference/androidx/lifecycle/LifecycleOwner`'s `https://developer.android.com/reference/androidx/lifecycle/Lifecycle` in a `https://developer.android.com/reference/androidx/lifecycle/Lifecycle.State` of at least `https://developer.android.com/reference/androidx/lifecycle/Lifecycle.State#RESUMED` and resume with the result. |
| `static final @https://developer.android.com/reference/androidx/annotation/NonNull R` | `<R extends https://developer.android.com/reference/java/lang/Object.html> https://developer.android.com/reference/androidx/lifecycle/WithLifecycleStateKt#(androidx.lifecycle.Lifecycle).withStarted(kotlin.Function0)( @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 Function0<@https://developer.android.com/reference/androidx/annotation/NonNull R> block )` Run `https://developer.android.com/reference/androidx/lifecycle/package-summary#(androidx.lifecycle.Lifecycle).withStarted(kotlin.Function0)` with this `https://developer.android.com/reference/androidx/lifecycle/Lifecycle` in a `https://developer.android.com/reference/androidx/lifecycle/Lifecycle.State` of at least `https://developer.android.com/reference/androidx/lifecycle/Lifecycle.State#STARTED` and resume with the result. |
| `static final @https://developer.android.com/reference/androidx/annotation/NonNull R` | `<R extends https://developer.android.com/reference/java/lang/Object.html> https://developer.android.com/reference/androidx/lifecycle/WithLifecycleStateKt#(androidx.lifecycle.LifecycleOwner).withStarted(kotlin.Function0)( @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/lifecycle/LifecycleOwner receiver, @https://developer.android.com/reference/androidx/annotation/NonNull Function0<@https://developer.android.com/reference/androidx/annotation/NonNull R> block )` Run `https://developer.android.com/reference/androidx/lifecycle/package-summary#(androidx.lifecycle.LifecycleOwner).withStarted(kotlin.Function0)` with this `https://developer.android.com/reference/androidx/lifecycle/LifecycleOwner`'s `https://developer.android.com/reference/androidx/lifecycle/Lifecycle` in a `https://developer.android.com/reference/androidx/lifecycle/Lifecycle.State` of at least `https://developer.android.com/reference/androidx/lifecycle/Lifecycle.State#STARTED` and resume with the result. |
| `static final @https://developer.android.com/reference/androidx/annotation/NonNull R` | `<R extends https://developer.android.com/reference/java/lang/Object.html> https://developer.android.com/reference/androidx/lifecycle/WithLifecycleStateKt#(androidx.lifecycle.Lifecycle).withStateAtLeast(androidx.lifecycle.Lifecycle.State,kotlin.Function0)( @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 https://developer.android.com/reference/androidx/lifecycle/Lifecycle.State state, @https://developer.android.com/reference/androidx/annotation/NonNull Function0<@https://developer.android.com/reference/androidx/annotation/NonNull R> block )` Run `https://developer.android.com/reference/androidx/lifecycle/package-summary#(androidx.lifecycle.Lifecycle).withStateAtLeast(androidx.lifecycle.Lifecycle.State,kotlin.Function0)` with this `https://developer.android.com/reference/androidx/lifecycle/Lifecycle` in a `https://developer.android.com/reference/androidx/lifecycle/Lifecycle.State` of at least `https://developer.android.com/reference/androidx/lifecycle/package-summary#(androidx.lifecycle.Lifecycle).withStateAtLeast(androidx.lifecycle.Lifecycle.State,kotlin.Function0)` and resume with the result. |
| `static final @https://developer.android.com/reference/androidx/annotation/NonNull R` | `<R extends https://developer.android.com/reference/java/lang/Object.html> https://developer.android.com/reference/androidx/lifecycle/WithLifecycleStateKt#(androidx.lifecycle.LifecycleOwner).withStateAtLeast(androidx.lifecycle.Lifecycle.State,kotlin.Function0)( @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/lifecycle/LifecycleOwner receiver, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/lifecycle/Lifecycle.State state, @https://developer.android.com/reference/androidx/annotation/NonNull Function0<@https://developer.android.com/reference/androidx/annotation/NonNull R> block )` Run `https://developer.android.com/reference/androidx/lifecycle/package-summary#(androidx.lifecycle.LifecycleOwner).withStateAtLeast(androidx.lifecycle.Lifecycle.State,kotlin.Function0)` with this `https://developer.android.com/reference/androidx/lifecycle/LifecycleOwner`'s `https://developer.android.com/reference/androidx/lifecycle/Lifecycle` in a `https://developer.android.com/reference/androidx/lifecycle/Lifecycle.State` of at least `https://developer.android.com/reference/androidx/lifecycle/package-summary#(androidx.lifecycle.LifecycleOwner).withStateAtLeast(androidx.lifecycle.Lifecycle.State,kotlin.Function0)` and resume with the result. |

## Public methods

### withCreated

Artifact: [androidx.lifecycle:lifecycle-runtime](https://developer.android.com/jetpack/androidx/releases/lifecycle) [View Source](https://cs.android.com/search?q=file:androidx/lifecycle/WithLifecycleState.kt+function:withCreated)

```
public static final @NonNull R <R extends Object> withCreated(
    @NonNull Lifecycle receiver,
    @NonNull Function0<@NonNull R> block
)
```

Run `https://developer.android.com/reference/androidx/lifecycle/package-summary#(androidx.lifecycle.Lifecycle).withCreated(kotlin.Function0)` with this `https://developer.android.com/reference/androidx/lifecycle/Lifecycle` in a `https://developer.android.com/reference/androidx/lifecycle/Lifecycle.State` of at least `https://developer.android.com/reference/androidx/lifecycle/Lifecycle.State#CREATED` and resume with the result. Throws the `https://developer.android.com/reference/androidx/lifecycle/LifecycleDestroyedException` if the lifecycle has reached `https://developer.android.com/reference/androidx/lifecycle/Lifecycle.State#DESTROYED` by the time of the call or before `https://developer.android.com/reference/androidx/lifecycle/package-summary#(androidx.lifecycle.Lifecycle).withCreated(kotlin.Function0)` is able to run.

### withCreated

Artifact: [androidx.lifecycle:lifecycle-runtime](https://developer.android.com/jetpack/androidx/releases/lifecycle) [View Source](https://cs.android.com/search?q=file:androidx/lifecycle/WithLifecycleState.kt+function:withCreated)

```
public static final @NonNull R <R extends Object> withCreated(
    @NonNull LifecycleOwner receiver,
    @NonNull Function0<@NonNull R> block
)
```

Run `https://developer.android.com/reference/androidx/lifecycle/package-summary#(androidx.lifecycle.LifecycleOwner).withCreated(kotlin.Function0)` with this `https://developer.android.com/reference/androidx/lifecycle/LifecycleOwner`'s `https://developer.android.com/reference/androidx/lifecycle/Lifecycle` in a `https://developer.android.com/reference/androidx/lifecycle/Lifecycle.State` of at least `https://developer.android.com/reference/androidx/lifecycle/Lifecycle.State#CREATED` and resume with the result. Throws the `https://developer.android.com/reference/androidx/lifecycle/LifecycleDestroyedException` if the lifecycle has reached `https://developer.android.com/reference/androidx/lifecycle/Lifecycle.State#DESTROYED` by the time of the call or before `https://developer.android.com/reference/androidx/lifecycle/package-summary#(androidx.lifecycle.LifecycleOwner).withCreated(kotlin.Function0)` is able to run.

### withResumed

Artifact: [androidx.lifecycle:lifecycle-runtime](https://developer.android.com/jetpack/androidx/releases/lifecycle) [View Source](https://cs.android.com/search?q=file:androidx/lifecycle/WithLifecycleState.kt+function:withResumed)

```
public static final @NonNull R <R extends Object> withResumed(
    @NonNull Lifecycle receiver,
    @NonNull Function0<@NonNull R> block
)
```

Run `https://developer.android.com/reference/androidx/lifecycle/package-summary#(androidx.lifecycle.Lifecycle).withResumed(kotlin.Function0)` with this `https://developer.android.com/reference/androidx/lifecycle/Lifecycle` in a `https://developer.android.com/reference/androidx/lifecycle/Lifecycle.State` of at least `https://developer.android.com/reference/androidx/lifecycle/Lifecycle.State#RESUMED` and resume with the result. Throws the `https://developer.android.com/reference/androidx/lifecycle/LifecycleDestroyedException` if the lifecycle has reached `https://developer.android.com/reference/androidx/lifecycle/Lifecycle.State#DESTROYED` by the time of the call or before `https://developer.android.com/reference/androidx/lifecycle/package-summary#(androidx.lifecycle.Lifecycle).withResumed(kotlin.Function0)` is able to run.

### withResumed

Artifact: [androidx.lifecycle:lifecycle-runtime](https://developer.android.com/jetpack/androidx/releases/lifecycle) [View Source](https://cs.android.com/search?q=file:androidx/lifecycle/WithLifecycleState.kt+function:withResumed)

```
public static final @NonNull R <R extends Object> withResumed(
    @NonNull LifecycleOwner receiver,
    @NonNull Function0<@NonNull R> block
)
```

Run `https://developer.android.com/reference/androidx/lifecycle/package-summary#(androidx.lifecycle.LifecycleOwner).withResumed(kotlin.Function0)` with this `https://developer.android.com/reference/androidx/lifecycle/LifecycleOwner`'s `https://developer.android.com/reference/androidx/lifecycle/Lifecycle` in a `https://developer.android.com/reference/androidx/lifecycle/Lifecycle.State` of at least `https://developer.android.com/reference/androidx/lifecycle/Lifecycle.State#RESUMED` and resume with the result. Throws the `https://developer.android.com/reference/androidx/lifecycle/LifecycleDestroyedException` if the lifecycle has reached `https://developer.android.com/reference/androidx/lifecycle/Lifecycle.State#DESTROYED` by the time of the call or before `https://developer.android.com/reference/androidx/lifecycle/package-summary#(androidx.lifecycle.LifecycleOwner).withResumed(kotlin.Function0)` is able to run.

### withStarted

Artifact: [androidx.lifecycle:lifecycle-runtime](https://developer.android.com/jetpack/androidx/releases/lifecycle) [View Source](https://cs.android.com/search?q=file:androidx/lifecycle/WithLifecycleState.kt+function:withStarted)

```
public static final @NonNull R <R extends Object> withStarted(
    @NonNull Lifecycle receiver,
    @NonNull Function0<@NonNull R> block
)
```

Run `https://developer.android.com/reference/androidx/lifecycle/package-summary#(androidx.lifecycle.Lifecycle).withStarted(kotlin.Function0)` with this `https://developer.android.com/reference/androidx/lifecycle/Lifecycle` in a `https://developer.android.com/reference/androidx/lifecycle/Lifecycle.State` of at least `https://developer.android.com/reference/androidx/lifecycle/Lifecycle.State#STARTED` and resume with the result. Throws the `https://developer.android.com/reference/androidx/lifecycle/LifecycleDestroyedException` if the lifecycle has reached `https://developer.android.com/reference/androidx/lifecycle/Lifecycle.State#DESTROYED` by the time of the call or before `https://developer.android.com/reference/androidx/lifecycle/package-summary#(androidx.lifecycle.Lifecycle).withStarted(kotlin.Function0)` is able to run.

### withStarted

Artifact: [androidx.lifecycle:lifecycle-runtime](https://developer.android.com/jetpack/androidx/releases/lifecycle) [View Source](https://cs.android.com/search?q=file:androidx/lifecycle/WithLifecycleState.kt+function:withStarted)

```
public static final @NonNull R <R extends Object> withStarted(
    @NonNull LifecycleOwner receiver,
    @NonNull Function0<@NonNull R> block
)
```

Run `https://developer.android.com/reference/androidx/lifecycle/package-summary#(androidx.lifecycle.LifecycleOwner).withStarted(kotlin.Function0)` with this `https://developer.android.com/reference/androidx/lifecycle/LifecycleOwner`'s `https://developer.android.com/reference/androidx/lifecycle/Lifecycle` in a `https://developer.android.com/reference/androidx/lifecycle/Lifecycle.State` of at least `https://developer.android.com/reference/androidx/lifecycle/Lifecycle.State#STARTED` and resume with the result. Throws the `https://developer.android.com/reference/androidx/lifecycle/LifecycleDestroyedException` if the lifecycle has reached `https://developer.android.com/reference/androidx/lifecycle/Lifecycle.State#DESTROYED` by the time of the call or before `https://developer.android.com/reference/androidx/lifecycle/package-summary#(androidx.lifecycle.LifecycleOwner).withStarted(kotlin.Function0)` is able to run.

### withStateAtLeast

Artifact: [androidx.lifecycle:lifecycle-runtime](https://developer.android.com/jetpack/androidx/releases/lifecycle) [View Source](https://cs.android.com/search?q=file:androidx/lifecycle/WithLifecycleState.kt+function:withStateAtLeast)

```
public static final @NonNull R <R extends Object> withStateAtLeast(
    @NonNull Lifecycle receiver,
    @NonNull Lifecycle.State state,
    @NonNull Function0<@NonNull R> block
)
```

Run `https://developer.android.com/reference/androidx/lifecycle/package-summary#(androidx.lifecycle.Lifecycle).withStateAtLeast(androidx.lifecycle.Lifecycle.State,kotlin.Function0)` with this `https://developer.android.com/reference/androidx/lifecycle/Lifecycle` in a `https://developer.android.com/reference/androidx/lifecycle/Lifecycle.State` of at least `https://developer.android.com/reference/androidx/lifecycle/package-summary#(androidx.lifecycle.Lifecycle).withStateAtLeast(androidx.lifecycle.Lifecycle.State,kotlin.Function0)` and resume with the result. Throws the `https://developer.android.com/reference/androidx/lifecycle/LifecycleDestroyedException` if the lifecycle has reached `https://developer.android.com/reference/androidx/lifecycle/Lifecycle.State#DESTROYED` by the time of the call or before `https://developer.android.com/reference/androidx/lifecycle/package-summary#(androidx.lifecycle.Lifecycle).withStateAtLeast(androidx.lifecycle.Lifecycle.State,kotlin.Function0)` is able to run.

### withStateAtLeast

Artifact: [androidx.lifecycle:lifecycle-runtime](https://developer.android.com/jetpack/androidx/releases/lifecycle) [View Source](https://cs.android.com/search?q=file:androidx/lifecycle/WithLifecycleState.kt+function:withStateAtLeast)

```
public static final @NonNull R <R extends Object> withStateAtLeast(
    @NonNull LifecycleOwner receiver,
    @NonNull Lifecycle.State state,
    @NonNull Function0<@NonNull R> block
)
```

Run `https://developer.android.com/reference/androidx/lifecycle/package-summary#(androidx.lifecycle.LifecycleOwner).withStateAtLeast(androidx.lifecycle.Lifecycle.State,kotlin.Function0)` with this `https://developer.android.com/reference/androidx/lifecycle/LifecycleOwner`'s `https://developer.android.com/reference/androidx/lifecycle/Lifecycle` in a `https://developer.android.com/reference/androidx/lifecycle/Lifecycle.State` of at least `https://developer.android.com/reference/androidx/lifecycle/package-summary#(androidx.lifecycle.LifecycleOwner).withStateAtLeast(androidx.lifecycle.Lifecycle.State,kotlin.Function0)` and resume with the result. Throws the `https://developer.android.com/reference/androidx/lifecycle/LifecycleDestroyedException` if the lifecycle has reached `https://developer.android.com/reference/androidx/lifecycle/Lifecycle.State#DESTROYED` by the time of the call or before `https://developer.android.com/reference/androidx/lifecycle/package-summary#(androidx.lifecycle.LifecycleOwner).withStateAtLeast(androidx.lifecycle.Lifecycle.State,kotlin.Function0)` is able to run.