# LightsManager.LightsSession

Added in[API level 31](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)

# LightsSession

*** ** * ** ***

Kotlin\|[Java](https://developer.android.com/reference/android/hardware/lights/LightsManager.LightsSession "View this page in Java")  

```
abstract class LightsSession : AutoCloseable
```

|---|------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [kotlin.Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)                                                                             ||
| ↳ | [android.hardware.lights.LightsManager.LightsSession](https://developer.android.com/reference/kotlin/android/hardware/lights/LightsManager.LightsSession#) |

Encapsulates a session that can be used to control device lights and represents the lifetime of the requests.

Any lights requests always live in a lights session which defines the lifecycle of the lights requests. A lights session is AutoCloseable that will get closed when leaving the session context.

Multiple sessions can make lights requests which contains same light. In the case the LightsManager implementation will arbitrate and honor one of the session's request. When the session hold the current light request closed, LightsManager implementation will choose another live session to honor its lights requests.

## Summary

|                                                                                                                                                                                                                Public methods                                                                                                                                                                                                                 ||
|--------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| abstract[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [close](https://developer.android.com/reference/kotlin/android/hardware/lights/LightsManager.LightsSession#close())`()` <br />                                                                                                                                                                                                                          |
| abstract[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [requestLights](https://developer.android.com/reference/kotlin/android/hardware/lights/LightsManager.LightsSession#requestLights(android.hardware.lights.LightsRequest))`(`request:` `[LightsRequest](https://developer.android.com/reference/kotlin/android/hardware/lights/LightsRequest)`)` Sends a request to modify the states of multiple lights. |

## Public methods

### close

Added in[API level 31](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)  

```
abstract fun close(): Unit
```

|                        Exceptions                        ||
|-----------------------|-----------------------------------|
| `java.lang.Exception` | if this resource cannot be closed |

### requestLights

Added in[API level 31](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)  

```
abstract fun requestLights(request: LightsRequest): Unit
```

Sends a request to modify the states of multiple lights.

|                                                                                       Parameters                                                                                        ||
|-----------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `request` | [LightsRequest](https://developer.android.com/reference/kotlin/android/hardware/lights/LightsRequest):the settings for lights that should change This value cannot be`null`. |