# ServiceLifecycleDispatcher

Artifact: [androidx.lifecycle:lifecycle-service](https://developer.android.com/jetpack/androidx/releases/lifecycle) [View Source](https://cs.android.com/search?q=file:androidx/lifecycle/ServiceLifecycleDispatcher.kt+class:androidx.lifecycle.ServiceLifecycleDispatcher) Added in [2.0.0](https://developer.android.com/jetpack/androidx/releases/lifecycle#2.0.0)

*** ** * ** ***

Common/AllAndroid/JVM
- android

  ```
  open class ServiceLifecycleDispatcher
  ```

*** ** * ** ***

Helper class to dispatch lifecycle events for a Service. Use it only if it is impossible to use `https://developer.android.com/reference/kotlin/androidx/lifecycle/LifecycleService`.

## Summary

| ### Public constructors |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/lifecycle/ServiceLifecycleDispatcher#ServiceLifecycleDispatcher(androidx.lifecycle.LifecycleOwner)(provider: https://developer.android.com/reference/kotlin/androidx/lifecycle/LifecycleOwner)` | android |

| ### Public functions |
|---|---|---|
| `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/lifecycle/ServiceLifecycleDispatcher#onServicePreSuperOnBind()()` Must be a first call in `https://developer.android.com/reference/android/app/Service.html#onBind(android.content.Intent)` method, even before super.onBind call. | android |
| `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/lifecycle/ServiceLifecycleDispatcher#onServicePreSuperOnCreate()()` Must be a first call in `https://developer.android.com/reference/android/app/Service.html#onCreate()` method, even before super.onCreate call. | android |
| `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/lifecycle/ServiceLifecycleDispatcher#onServicePreSuperOnDestroy()()` Must be a first call in `https://developer.android.com/reference/android/app/Service.html#onDestroy()` method, even before super.OnDestroy call. | android |
| `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/lifecycle/ServiceLifecycleDispatcher#onServicePreSuperOnStart()()` Must be a first call in `https://developer.android.com/reference/android/app/Service.html#onStart(android.content.Intent, int)` or `https://developer.android.com/reference/android/app/Service.html#onStartCommand(android.content.Intent, int, int)` methods, even before a corresponding super call. | android |

| ### Public properties |
|---|---|---|
| `open https://developer.android.com/reference/kotlin/androidx/lifecycle/Lifecycle` | `https://developer.android.com/reference/kotlin/androidx/lifecycle/ServiceLifecycleDispatcher#lifecycle()` `https://developer.android.com/reference/kotlin/androidx/lifecycle/Lifecycle` for the given `https://developer.android.com/reference/kotlin/androidx/lifecycle/LifecycleOwner` | android |

## Public constructors

### ServiceLifecycleDispatcher

android Added in [2.0.0](https://developer.android.com/jetpack/androidx/releases/lifecycle#2.0.0)

```
ServiceLifecycleDispatcher(provider: LifecycleOwner)
```

| Parameters |
|---|---|
| `provider: https://developer.android.com/reference/kotlin/androidx/lifecycle/LifecycleOwner` | `https://developer.android.com/reference/kotlin/androidx/lifecycle/LifecycleOwner` for a service, usually it is a service itself |

## Public functions

### onServicePreSuperOnBind

android Added in [2.0.0](https://developer.android.com/jetpack/androidx/releases/lifecycle#2.0.0)

```
open fun onServicePreSuperOnBind(): Unit
```

Must be a first call in `https://developer.android.com/reference/android/app/Service.html#onBind(android.content.Intent)` method, even before super.onBind call.

### onServicePreSuperOnCreate

android Added in [2.0.0](https://developer.android.com/jetpack/androidx/releases/lifecycle#2.0.0)

```
open fun onServicePreSuperOnCreate(): Unit
```

Must be a first call in `https://developer.android.com/reference/android/app/Service.html#onCreate()` method, even before super.onCreate call.

### onServicePreSuperOnDestroy

android Added in [2.0.0](https://developer.android.com/jetpack/androidx/releases/lifecycle#2.0.0)

```
open fun onServicePreSuperOnDestroy(): Unit
```

Must be a first call in `https://developer.android.com/reference/android/app/Service.html#onDestroy()` method, even before super.OnDestroy call.

### onServicePreSuperOnStart

android Added in [2.0.0](https://developer.android.com/jetpack/androidx/releases/lifecycle#2.0.0)

```
open fun onServicePreSuperOnStart(): Unit
```

Must be a first call in `https://developer.android.com/reference/android/app/Service.html#onStart(android.content.Intent, int)` or `https://developer.android.com/reference/android/app/Service.html#onStartCommand(android.content.Intent, int, int)` methods, even before a corresponding super call.

## Public properties

### lifecycle

android Added in [2.0.0](https://developer.android.com/jetpack/androidx/releases/lifecycle#2.0.0)

```
open val lifecycle: Lifecycle
```

`https://developer.android.com/reference/kotlin/androidx/lifecycle/Lifecycle` for the given `https://developer.android.com/reference/kotlin/androidx/lifecycle/LifecycleOwner`